[message] add and use AppendTlv (#3752)

This commit adds a new method `AppendTlv` to `Message` class which
appends a fully formed TLV to the message. This commit also changes
the core modules to use the new method when appending a TLV.
This commit is contained in:
Abtin Keshavarzian
2019-04-16 08:21:45 -07:00
committed by Jonathan Hui
parent 62b35b67c3
commit db3ea162a8
22 changed files with 154 additions and 138 deletions
+5
View File
@@ -458,6 +458,11 @@ exit:
return error;
}
otError Message::AppendTlv(const Tlv &aTlv)
{
return Append(&aTlv, aTlv.GetSize());
}
otError Message::Prepend(const void *aBuf, uint16_t aLength)
{
otError error = OT_ERROR_NONE;
+14
View File
@@ -44,6 +44,7 @@
#include "common/code_utils.hpp"
#include "common/locator.hpp"
#include "common/tlvs.hpp"
#include "mac/mac_frame.hpp"
#include "thread/link_quality.hpp"
@@ -405,6 +406,19 @@ public:
*/
otError Append(const void *aBuf, uint16_t aLength);
/**
* This method appends a TLV to the end of the message.
*
* On success, this method grows the message by the size of the TLV.
*
* @param[in] aTlv A reference to a TLV.
*
* @retval OT_ERROR_NONE Successfully appended the TLV to the message.
* @retval OT_ERROR_NO_BUFS Insufficient available buffers to grow the message.
*
*/
otError AppendTlv(const Tlv &aTlv);
/**
* This method reads bytes from the message.
*
+5 -1
View File
@@ -38,14 +38,18 @@
#include "utils/wrap_string.h"
#include <openthread/error.h>
#include <openthread/platform/toolchain.h>
#include "common/encoding.hpp"
#include "common/message.hpp"
namespace ot {
using ot::Encoding::BigEndian::HostSwap16;
using ot::Encoding::BigEndian::HostSwap32;
class Message;
/**
* This class implements TLV generation and parsing.
*
+4 -4
View File
@@ -81,19 +81,19 @@ otError AnnounceBeginClient::SendRequest(uint32_t aChannelMask,
sessionId.Init();
sessionId.SetCommissionerSessionId(Get<MeshCoP::Commissioner>().GetSessionId());
SuccessOrExit(error = message->Append(&sessionId, sizeof(sessionId)));
SuccessOrExit(error = message->AppendTlv(sessionId));
channelMask.Init();
channelMask.SetChannelMask(aChannelMask);
SuccessOrExit(error = message->Append(&channelMask, channelMask.GetSize()));
SuccessOrExit(error = message->AppendTlv(channelMask));
count.Init();
count.SetCount(aCount);
SuccessOrExit(error = message->Append(&count, sizeof(count)));
SuccessOrExit(error = message->AppendTlv(count));
period.Init();
period.SetPeriod(aPeriod);
SuccessOrExit(error = message->Append(&period, sizeof(period)));
SuccessOrExit(error = message->AppendTlv(period));
messageInfo.SetSockAddr(Get<Mle::MleRouter>().GetMeshLocal16());
messageInfo.SetPeerAddr(aAddress);
+2 -2
View File
@@ -419,7 +419,7 @@ bool BorderAgent::HandleUdpReceive(const Message &aMessage, const Ip6::MessageIn
tlv.SetSourcePort(aMessageInfo.GetPeerPort());
tlv.SetDestinationPort(aMessageInfo.GetSockPort());
tlv.SetUdpLength(udpLength);
SuccessOrExit(error = message->Append(&tlv, sizeof(tlv)));
SuccessOrExit(error = message->AppendTlv(tlv));
offset = message->GetLength();
SuccessOrExit(error = message->SetLength(offset + udpLength));
@@ -431,7 +431,7 @@ bool BorderAgent::HandleUdpReceive(const Message &aMessage, const Ip6::MessageIn
tlv.Init();
tlv.SetAddress(aMessageInfo.GetPeerAddr());
SuccessOrExit(error = message->Append(&tlv, sizeof(tlv)));
SuccessOrExit(error = message->AppendTlv(tlv));
}
SuccessOrExit(error = Get<Coap::CoapSecure>().SendMessage(*message, Get<Coap::CoapSecure>().GetPeerAddress()));
+11 -11
View File
@@ -504,7 +504,7 @@ otError Commissioner::SendMgmtCommissionerSetRequest(const otCommissioningDatase
MeshCoP::BorderAgentLocatorTlv locator;
locator.Init();
locator.SetBorderAgentLocator(aDataset.mLocator);
SuccessOrExit(error = message->Append(&locator, sizeof(locator)));
SuccessOrExit(error = message->AppendTlv(locator));
}
if (aDataset.mIsSessionIdSet)
@@ -512,7 +512,7 @@ otError Commissioner::SendMgmtCommissionerSetRequest(const otCommissioningDatase
MeshCoP::CommissionerSessionIdTlv sessionId;
sessionId.Init();
sessionId.SetCommissionerSessionId(aDataset.mSessionId);
SuccessOrExit(error = message->Append(&sessionId, sizeof(sessionId)));
SuccessOrExit(error = message->AppendTlv(sessionId));
}
if (aDataset.mIsSteeringDataSet)
@@ -529,7 +529,7 @@ otError Commissioner::SendMgmtCommissionerSetRequest(const otCommissioningDatase
MeshCoP::JoinerUdpPortTlv joinerUdpPort;
joinerUdpPort.Init();
joinerUdpPort.SetUdpPort(aDataset.mJoinerUdpPort);
SuccessOrExit(error = message->Append(&joinerUdpPort, sizeof(joinerUdpPort)));
SuccessOrExit(error = message->AppendTlv(joinerUdpPort));
}
if (aLength > 0)
@@ -602,7 +602,7 @@ otError Commissioner::SendPetition(void)
commissionerId.Init();
commissionerId.SetCommissionerId("OpenThread Commissioner");
SuccessOrExit(error = message->Append(&commissionerId, sizeof(Tlv) + commissionerId.GetLength()));
SuccessOrExit(error = message->AppendTlv(commissionerId));
Get<Mle::MleRouter>().GetLeaderAloc(messageInfo.GetPeerAddr());
messageInfo.SetPeerPort(kCoapUdpPort);
@@ -698,11 +698,11 @@ otError Commissioner::SendKeepAlive(void)
state.Init();
state.SetState(mState == OT_COMMISSIONER_STATE_ACTIVE ? StateTlv::kAccept : StateTlv::kReject);
SuccessOrExit(error = message->Append(&state, sizeof(state)));
SuccessOrExit(error = message->AppendTlv(state));
sessionId.Init();
sessionId.SetCommissionerSessionId(mSessionId);
SuccessOrExit(error = message->Append(&sessionId, sizeof(sessionId)));
SuccessOrExit(error = message->AppendTlv(sessionId));
messageInfo.SetSockAddr(Get<Mle::MleRouter>().GetMeshLocal16());
Get<Mle::MleRouter>().GetLeaderAloc(messageInfo.GetPeerAddr());
@@ -928,7 +928,7 @@ void Commissioner::SendJoinFinalizeResponse(const Coap::Message &aRequest, State
stateTlv.Init();
stateTlv.SetState(aState);
SuccessOrExit(error = message->Append(&stateTlv, sizeof(stateTlv)));
SuccessOrExit(error = message->AppendTlv(stateTlv));
joinerMessageInfo.SetPeerAddr(Get<Mle::MleRouter>().GetMeshLocal64());
joinerMessageInfo.GetPeerAddr().SetIid(mJoinerIid);
@@ -984,22 +984,22 @@ otError Commissioner::SendRelayTransmit(Message &aMessage, const Ip6::MessageInf
udpPort.Init();
udpPort.SetUdpPort(mJoinerPort);
SuccessOrExit(error = message->Append(&udpPort, sizeof(udpPort)));
SuccessOrExit(error = message->AppendTlv(udpPort));
iid.Init();
iid.SetIid(mJoinerIid);
SuccessOrExit(error = message->Append(&iid, sizeof(iid)));
SuccessOrExit(error = message->AppendTlv(iid));
rloc.Init();
rloc.SetJoinerRouterLocator(mJoinerRloc);
SuccessOrExit(error = message->Append(&rloc, sizeof(rloc)));
SuccessOrExit(error = message->AppendTlv(rloc));
if (aMessage.GetSubType() == Message::kSubTypeJoinerFinalizeResponse)
{
JoinerRouterKekTlv kek;
kek.Init();
kek.SetKek(Get<KeyManager>().GetKek());
SuccessOrExit(error = message->Append(&kek, sizeof(kek)));
SuccessOrExit(error = message->AppendTlv(kek));
}
tlv.SetType(Tlv::kJoinerDtlsEncapsulation);
+2 -2
View File
@@ -494,11 +494,11 @@ otError Dataset::AppendMleDatasetTlv(Message &aMessage) const
delayTimer.SetDelayTimer(0);
}
SuccessOrExit(error = aMessage.Append(&delayTimer, sizeof(delayTimer)));
SuccessOrExit(error = aMessage.AppendTlv(delayTimer));
}
else
{
SuccessOrExit(error = aMessage.Append(cur, sizeof(Tlv) + cur->GetLength()));
SuccessOrExit(error = aMessage.AppendTlv(*cur));
}
cur = cur->GetNext();
+13 -13
View File
@@ -366,7 +366,7 @@ void DatasetManager::SendGetResponse(const Coap::Message & aRequest,
if (cur->GetType() != Tlv::kNetworkMasterKey ||
(Get<KeyManager>().GetSecurityPolicyFlags() & OT_SECURITY_POLICY_OBTAIN_MASTER_KEY))
{
SuccessOrExit(error = message->Append(cur, sizeof(Tlv) + cur->GetLength()));
SuccessOrExit(error = message->AppendTlv(*cur));
}
cur = cur->GetNext();
@@ -386,7 +386,7 @@ void DatasetManager::SendGetResponse(const Coap::Message & aRequest,
if ((tlv = dataset.Get(static_cast<Tlv::Type>(aTlvs[index]))) != NULL)
{
SuccessOrExit(error = message->Append(tlv, sizeof(Tlv) + tlv->GetLength()));
SuccessOrExit(error = message->AppendTlv(*tlv));
}
}
}
@@ -446,7 +446,7 @@ otError DatasetManager::SendSetRequest(const otOperationalDataset &aDataset, con
CommissionerSessionIdTlv sessionId;
sessionId.Init();
sessionId.SetCommissionerSessionId(Get<Commissioner>().GetSessionId());
SuccessOrExit(error = message->Append(&sessionId, sizeof(sessionId)));
SuccessOrExit(error = message->AppendTlv(sessionId));
}
}
@@ -458,7 +458,7 @@ otError DatasetManager::SendSetRequest(const otOperationalDataset &aDataset, con
timestamp.Init();
static_cast<Timestamp *>(&timestamp)->SetSeconds(aDataset.mActiveTimestamp);
static_cast<Timestamp *>(&timestamp)->SetTicks(0);
SuccessOrExit(error = message->Append(&timestamp, sizeof(timestamp)));
SuccessOrExit(error = message->AppendTlv(timestamp));
}
if (aDataset.mComponents.mIsPendingTimestampPresent)
@@ -467,7 +467,7 @@ otError DatasetManager::SendSetRequest(const otOperationalDataset &aDataset, con
timestamp.Init();
static_cast<Timestamp *>(&timestamp)->SetSeconds(aDataset.mPendingTimestamp);
static_cast<Timestamp *>(&timestamp)->SetTicks(0);
SuccessOrExit(error = message->Append(&timestamp, sizeof(timestamp)));
SuccessOrExit(error = message->AppendTlv(timestamp));
}
if (aDataset.mComponents.mIsMasterKeyPresent)
@@ -475,7 +475,7 @@ otError DatasetManager::SendSetRequest(const otOperationalDataset &aDataset, con
NetworkMasterKeyTlv masterkey;
masterkey.Init();
masterkey.SetNetworkMasterKey(aDataset.mMasterKey);
SuccessOrExit(error = message->Append(&masterkey, sizeof(masterkey)));
SuccessOrExit(error = message->AppendTlv(masterkey));
}
if (aDataset.mComponents.mIsNetworkNamePresent)
@@ -483,7 +483,7 @@ otError DatasetManager::SendSetRequest(const otOperationalDataset &aDataset, con
NetworkNameTlv networkname;
networkname.Init();
networkname.SetNetworkName(aDataset.mNetworkName.m8);
SuccessOrExit(error = message->Append(&networkname, sizeof(Tlv) + networkname.GetLength()));
SuccessOrExit(error = message->AppendTlv(networkname));
}
if (aDataset.mComponents.mIsExtendedPanIdPresent)
@@ -491,7 +491,7 @@ otError DatasetManager::SendSetRequest(const otOperationalDataset &aDataset, con
ExtendedPanIdTlv extpanid;
extpanid.Init();
extpanid.SetExtendedPanId(aDataset.mExtendedPanId);
SuccessOrExit(error = message->Append(&extpanid, sizeof(extpanid)));
SuccessOrExit(error = message->AppendTlv(extpanid));
}
if (aDataset.mComponents.mIsMeshLocalPrefixPresent)
@@ -499,7 +499,7 @@ otError DatasetManager::SendSetRequest(const otOperationalDataset &aDataset, con
MeshLocalPrefixTlv localprefix;
localprefix.Init();
localprefix.SetMeshLocalPrefix(aDataset.mMeshLocalPrefix);
SuccessOrExit(error = message->Append(&localprefix, sizeof(localprefix)));
SuccessOrExit(error = message->AppendTlv(localprefix));
}
if (aDataset.mComponents.mIsDelayPresent)
@@ -507,7 +507,7 @@ otError DatasetManager::SendSetRequest(const otOperationalDataset &aDataset, con
DelayTimerTlv delaytimer;
delaytimer.Init();
delaytimer.SetDelayTimer(aDataset.mDelay);
SuccessOrExit(error = message->Append(&delaytimer, sizeof(delaytimer)));
SuccessOrExit(error = message->AppendTlv(delaytimer));
}
if (aDataset.mComponents.mIsPanIdPresent)
@@ -515,7 +515,7 @@ otError DatasetManager::SendSetRequest(const otOperationalDataset &aDataset, con
PanIdTlv panid;
panid.Init();
panid.SetPanId(aDataset.mPanId);
SuccessOrExit(error = message->Append(&panid, sizeof(panid)));
SuccessOrExit(error = message->AppendTlv(panid));
}
if (aDataset.mComponents.mIsChannelPresent)
@@ -523,7 +523,7 @@ otError DatasetManager::SendSetRequest(const otOperationalDataset &aDataset, con
ChannelTlv channel;
channel.Init();
channel.SetChannel(aDataset.mChannel);
SuccessOrExit(error = message->Append(&channel, sizeof(channel)));
SuccessOrExit(error = message->AppendTlv(channel));
}
if (aDataset.mComponents.mIsChannelMaskPresent)
@@ -531,7 +531,7 @@ otError DatasetManager::SendSetRequest(const otOperationalDataset &aDataset, con
ChannelMaskTlv channelMask;
channelMask.Init();
channelMask.SetChannelMask(aDataset.mChannelMask);
SuccessOrExit(error = message->Append(&channelMask, sizeof(channelMask)));
SuccessOrExit(error = message->AppendTlv(channelMask));
}
if (aLength > 0)
+1 -1
View File
@@ -303,7 +303,7 @@ void DatasetManager::SendSetResponse(const Coap::Message & aRequest,
state.Init();
state.SetState(aState);
SuccessOrExit(error = message->Append(&state, sizeof(state)));
SuccessOrExit(error = message->AppendTlv(state));
SuccessOrExit(error = Get<Coap::Coap>().SendMessage(*message, aMessageInfo));
+5 -5
View File
@@ -89,23 +89,23 @@ otError EnergyScanClient::SendQuery(uint32_t aChannelM
sessionId.Init();
sessionId.SetCommissionerSessionId(Get<MeshCoP::Commissioner>().GetSessionId());
SuccessOrExit(error = message->Append(&sessionId, sizeof(sessionId)));
SuccessOrExit(error = message->AppendTlv(sessionId));
channelMask.Init();
channelMask.SetChannelMask(aChannelMask);
SuccessOrExit(error = message->Append(&channelMask, channelMask.GetSize()));
SuccessOrExit(error = message->AppendTlv(channelMask));
count.Init();
count.SetCount(aCount);
SuccessOrExit(error = message->Append(&count, sizeof(count)));
SuccessOrExit(error = message->AppendTlv(count));
period.Init();
period.SetPeriod(aPeriod);
SuccessOrExit(error = message->Append(&period, sizeof(period)));
SuccessOrExit(error = message->AppendTlv(period));
scanDuration.Init();
scanDuration.SetScanDuration(aScanDuration);
SuccessOrExit(error = message->Append(&scanDuration, sizeof(scanDuration)));
SuccessOrExit(error = message->AppendTlv(scanDuration));
messageInfo.SetSockAddr(Get<Mle::MleRouter>().GetMeshLocal16());
messageInfo.SetPeerAddr(aAddress);
+7 -7
View File
@@ -408,33 +408,33 @@ otError Joiner::PrepareJoinerFinalizeMessage(const char *aProvisioningUrl,
stateTlv.Init();
stateTlv.SetState(MeshCoP::StateTlv::kAccept);
SuccessOrExit(error = mFinalizeMessage->Append(&stateTlv, sizeof(stateTlv)));
SuccessOrExit(error = mFinalizeMessage->AppendTlv(stateTlv));
vendorNameTlv.Init();
vendorNameTlv.SetVendorName(aVendorName);
SuccessOrExit(error = mFinalizeMessage->Append(&vendorNameTlv, vendorNameTlv.GetSize()));
SuccessOrExit(error = mFinalizeMessage->AppendTlv(vendorNameTlv));
vendorModelTlv.Init();
vendorModelTlv.SetVendorModel(aVendorModel);
SuccessOrExit(error = mFinalizeMessage->Append(&vendorModelTlv, vendorModelTlv.GetSize()));
SuccessOrExit(error = mFinalizeMessage->AppendTlv(vendorModelTlv));
vendorSwVersionTlv.Init();
vendorSwVersionTlv.SetVendorSwVersion(aVendorSwVersion);
SuccessOrExit(error = mFinalizeMessage->Append(&vendorSwVersionTlv, vendorSwVersionTlv.GetSize()));
SuccessOrExit(error = mFinalizeMessage->AppendTlv(vendorSwVersionTlv));
vendorStackVersionTlv.Init();
vendorStackVersionTlv.SetOui(OPENTHREAD_CONFIG_STACK_VENDOR_OUI);
vendorStackVersionTlv.SetMajor(OPENTHREAD_CONFIG_STACK_VERSION_MAJOR);
vendorStackVersionTlv.SetMinor(OPENTHREAD_CONFIG_STACK_VERSION_MINOR);
vendorStackVersionTlv.SetRevision(OPENTHREAD_CONFIG_STACK_VERSION_REV);
SuccessOrExit(error = mFinalizeMessage->Append(&vendorStackVersionTlv, vendorStackVersionTlv.GetSize()));
SuccessOrExit(error = mFinalizeMessage->AppendTlv(vendorStackVersionTlv));
if (aVendorData != NULL)
{
VendorDataTlv vendorDataTlv;
vendorDataTlv.Init();
vendorDataTlv.SetVendorData(aVendorData);
SuccessOrExit(error = mFinalizeMessage->Append(&vendorDataTlv, vendorDataTlv.GetSize()));
SuccessOrExit(error = mFinalizeMessage->AppendTlv(vendorDataTlv));
}
provisioningUrlTlv.Init();
@@ -442,7 +442,7 @@ otError Joiner::PrepareJoinerFinalizeMessage(const char *aProvisioningUrl,
if (provisioningUrlTlv.GetLength() > 0)
{
SuccessOrExit(error = mFinalizeMessage->Append(&provisioningUrlTlv, provisioningUrlTlv.GetSize()));
SuccessOrExit(error = mFinalizeMessage->AppendTlv(provisioningUrlTlv));
}
exit:
+16 -16
View File
@@ -155,15 +155,15 @@ void JoinerRouter::HandleUdpReceive(Message &aMessage, const Ip6::MessageInfo &a
udpPort.Init();
udpPort.SetUdpPort(aMessageInfo.GetPeerPort());
SuccessOrExit(error = message->Append(&udpPort, sizeof(udpPort)));
SuccessOrExit(error = message->AppendTlv(udpPort));
iid.Init();
iid.SetIid(aMessageInfo.GetPeerAddr().mFields.m8 + 8);
SuccessOrExit(error = message->Append(&iid, sizeof(iid)));
SuccessOrExit(error = message->AppendTlv(iid));
rloc.Init();
rloc.SetJoinerRouterLocator(Get<Mle::MleRouter>().GetRloc16());
SuccessOrExit(error = message->Append(&rloc, sizeof(rloc)));
SuccessOrExit(error = message->AppendTlv(rloc));
tlv.SetType(Tlv::kJoinerDtlsEncapsulation);
tlv.SetLength(aMessage.GetLength() - aMessage.GetOffset());
@@ -289,69 +289,69 @@ otError JoinerRouter::DelaySendingJoinerEntrust(const Ip6::MessageInfo &aMessage
masterKey.Init();
masterKey.SetNetworkMasterKey(Get<KeyManager>().GetMasterKey());
SuccessOrExit(error = message->Append(&masterKey, sizeof(masterKey)));
SuccessOrExit(error = message->AppendTlv(masterKey));
meshLocalPrefix.Init();
meshLocalPrefix.SetMeshLocalPrefix(Get<Mle::MleRouter>().GetMeshLocalPrefix());
SuccessOrExit(error = message->Append(&meshLocalPrefix, sizeof(meshLocalPrefix)));
SuccessOrExit(error = message->AppendTlv(meshLocalPrefix));
extendedPanId.Init();
extendedPanId.SetExtendedPanId(Get<Mac::Mac>().GetExtendedPanId());
SuccessOrExit(error = message->Append(&extendedPanId, sizeof(extendedPanId)));
SuccessOrExit(error = message->AppendTlv(extendedPanId));
networkName.Init();
networkName.SetNetworkName(Get<Mac::Mac>().GetNetworkName());
SuccessOrExit(error = message->Append(&networkName, sizeof(Tlv) + networkName.GetLength()));
SuccessOrExit(error = message->AppendTlv(networkName));
Get<ActiveDataset>().Read(dataset);
if ((tlv = dataset.Get(Tlv::kActiveTimestamp)) != NULL)
{
SuccessOrExit(error = message->Append(tlv, sizeof(Tlv) + tlv->GetLength()));
SuccessOrExit(error = message->AppendTlv(*tlv));
}
else
{
ActiveTimestampTlv activeTimestamp;
activeTimestamp.Init();
SuccessOrExit(error = message->Append(&activeTimestamp, sizeof(activeTimestamp)));
SuccessOrExit(error = message->AppendTlv(activeTimestamp));
}
if ((tlv = dataset.Get(Tlv::kChannelMask)) != NULL)
{
SuccessOrExit(error = message->Append(tlv, sizeof(Tlv) + tlv->GetLength()));
SuccessOrExit(error = message->AppendTlv(*tlv));
}
else
{
ChannelMaskBaseTlv channelMask;
channelMask.Init();
SuccessOrExit(error = message->Append(&channelMask, sizeof(channelMask)));
SuccessOrExit(error = message->AppendTlv(channelMask));
}
if ((tlv = dataset.Get(Tlv::kPSKc)) != NULL)
{
SuccessOrExit(error = message->Append(tlv, sizeof(Tlv) + tlv->GetLength()));
SuccessOrExit(error = message->AppendTlv(*tlv));
}
else
{
PSKcTlv pskc;
pskc.Init();
SuccessOrExit(error = message->Append(&pskc, sizeof(pskc)));
SuccessOrExit(error = message->AppendTlv(pskc));
}
if ((tlv = dataset.Get(Tlv::kSecurityPolicy)) != NULL)
{
SuccessOrExit(error = message->Append(tlv, sizeof(Tlv) + tlv->GetLength()));
SuccessOrExit(error = message->AppendTlv(*tlv));
}
else
{
SecurityPolicyTlv securityPolicy;
securityPolicy.Init();
SuccessOrExit(error = message->Append(&securityPolicy, sizeof(securityPolicy)));
SuccessOrExit(error = message->AppendTlv(securityPolicy));
}
networkKeySequence.Init();
networkKeySequence.SetNetworkKeySequence(Get<KeyManager>().GetCurrentKeySequence());
SuccessOrExit(error = message->Append(&networkKeySequence, networkKeySequence.GetSize()));
SuccessOrExit(error = message->AppendTlv(networkKeySequence));
messageInfo = aMessageInfo;
messageInfo.SetPeerPort(kCoapUdpPort);
+4 -5
View File
@@ -134,19 +134,18 @@ otError Leader::SendPetitionResponse(const Coap::Message & aRequest,
state.Init();
state.SetState(aState);
SuccessOrExit(error = message->Append(&state, sizeof(state)));
SuccessOrExit(error = message->AppendTlv(state));
if (mTimer.IsRunning())
{
uint16_t len = sizeof(Tlv) + mCommissionerId.GetLength();
SuccessOrExit(error = message->Append(&mCommissionerId, len));
SuccessOrExit(error = message->AppendTlv(mCommissionerId));
}
if (aState == StateTlv::kAccept)
{
sessionId.Init();
sessionId.SetCommissionerSessionId(mSessionId);
SuccessOrExit(error = message->Append(&sessionId, sizeof(sessionId)));
SuccessOrExit(error = message->AppendTlv(sessionId));
}
SuccessOrExit(error = Get<Coap::Coap>().SendMessage(*message, aMessageInfo));
@@ -231,7 +230,7 @@ otError Leader::SendKeepAliveResponse(const Coap::Message & aRequest,
state.Init();
state.SetState(aState);
SuccessOrExit(error = message->Append(&state, sizeof(state)));
SuccessOrExit(error = message->AppendTlv(state));
SuccessOrExit(error = Get<Coap::Coap>().SendMessage(*message, aMessageInfo));
+3 -3
View File
@@ -84,15 +84,15 @@ otError PanIdQueryClient::SendQuery(uint16_t aPanId,
sessionId.Init();
sessionId.SetCommissionerSessionId(Get<MeshCoP::Commissioner>().GetSessionId());
SuccessOrExit(error = message->Append(&sessionId, sizeof(sessionId)));
SuccessOrExit(error = message->AppendTlv(sessionId));
channelMask.Init();
channelMask.SetChannelMask(aChannelMask);
SuccessOrExit(error = message->Append(&channelMask, channelMask.GetSize()));
SuccessOrExit(error = message->AppendTlv(channelMask));
panId.Init();
panId.SetPanId(aPanId);
SuccessOrExit(error = message->Append(&panId, sizeof(panId)));
SuccessOrExit(error = message->AppendTlv(panId));
messageInfo.SetSockAddr(Get<Mle::MleRouter>().GetMeshLocal16());
messageInfo.SetPeerAddr(aAddress);
+7 -7
View File
@@ -331,7 +331,7 @@ otError AddressResolver::SendAddressQuery(const Ip6::Address &aEid)
targetTlv.Init();
targetTlv.SetTarget(aEid);
SuccessOrExit(error = message->Append(&targetTlv, sizeof(targetTlv)));
SuccessOrExit(error = message->AppendTlv(targetTlv));
messageInfo.GetPeerAddr().mFields.m16[0] = HostSwap16(0xff03);
messageInfo.GetPeerAddr().mFields.m16[7] = HostSwap16(0x0002);
@@ -466,8 +466,8 @@ otError AddressResolver::SendAddressError(const ThreadTargetTlv & aTarget,
message->AppendUriPathOptions(OT_URI_PATH_ADDRESS_ERROR);
message->SetPayloadMarker();
SuccessOrExit(error = message->Append(&aTarget, sizeof(aTarget)));
SuccessOrExit(error = message->Append(&aEid, sizeof(aEid)));
SuccessOrExit(error = message->AppendTlv(aTarget));
SuccessOrExit(error = message->AppendTlv(aEid));
if (aDestination == NULL)
{
@@ -648,16 +648,16 @@ void AddressResolver::SendAddressQueryResponse(const ThreadTargetTlv &
message->AppendUriPathOptions(OT_URI_PATH_ADDRESS_NOTIFY);
message->SetPayloadMarker();
SuccessOrExit(error = message->Append(&aTargetTlv, sizeof(aTargetTlv)));
SuccessOrExit(error = message->Append(&aMlEidTlv, sizeof(aMlEidTlv)));
SuccessOrExit(error = message->AppendTlv(aTargetTlv));
SuccessOrExit(error = message->AppendTlv(aMlEidTlv));
rloc16Tlv.Init();
rloc16Tlv.SetRloc16(Get<Mle::MleRouter>().GetRloc16());
SuccessOrExit(error = message->Append(&rloc16Tlv, sizeof(rloc16Tlv)));
SuccessOrExit(error = message->AppendTlv(rloc16Tlv));
if (aLastTransactionTimeTlv != NULL)
{
SuccessOrExit(error = message->Append(aLastTransactionTimeTlv, sizeof(*aLastTransactionTimeTlv)));
SuccessOrExit(error = message->AppendTlv(*aLastTransactionTimeTlv));
}
messageInfo.SetPeerAddr(aDestination);
+1 -1
View File
@@ -193,7 +193,7 @@ otError EnergyScanServer::SendReport(void)
channelMask.Init();
channelMask.SetChannelMask(mChannelMask);
SuccessOrExit(error = message->Append(&channelMask, channelMask.GetSize()));
SuccessOrExit(error = message->AppendTlv(channelMask));
energyList.Init();
energyList.SetLength(mScanResultsLength);
+21 -21
View File
@@ -539,7 +539,7 @@ otError Mle::Discover(const Mac::ChannelMask &aScanChannels,
discoveryRequest.Init();
discoveryRequest.SetVersion(kThreadVersion);
discoveryRequest.SetJoiner(aJoiner);
SuccessOrExit(error = message->Append(&discoveryRequest, sizeof(discoveryRequest)));
SuccessOrExit(error = message->AppendTlv(discoveryRequest));
tlv.SetLength(static_cast<uint8_t>(message->GetLength() - startOffset));
message->Write(startOffset - sizeof(tlv), sizeof(tlv), &tlv);
@@ -1131,7 +1131,7 @@ otError Mle::AppendSourceAddress(Message &aMessage)
tlv.Init();
tlv.SetRloc16(GetRloc16());
return aMessage.Append(&tlv, sizeof(tlv));
return aMessage.AppendTlv(tlv);
}
otError Mle::AppendStatus(Message &aMessage, StatusTlv::Status aStatus)
@@ -1141,7 +1141,7 @@ otError Mle::AppendStatus(Message &aMessage, StatusTlv::Status aStatus)
tlv.Init();
tlv.SetStatus(aStatus);
return aMessage.Append(&tlv, sizeof(tlv));
return aMessage.AppendTlv(tlv);
}
otError Mle::AppendMode(Message &aMessage, uint8_t aMode)
@@ -1151,7 +1151,7 @@ otError Mle::AppendMode(Message &aMessage, uint8_t aMode)
tlv.Init();
tlv.SetMode(aMode);
return aMessage.Append(&tlv, sizeof(tlv));
return aMessage.AppendTlv(tlv);
}
otError Mle::AppendTimeout(Message &aMessage, uint32_t aTimeout)
@@ -1161,7 +1161,7 @@ otError Mle::AppendTimeout(Message &aMessage, uint32_t aTimeout)
tlv.Init();
tlv.SetTimeout(aTimeout);
return aMessage.Append(&tlv, sizeof(tlv));
return aMessage.AppendTlv(tlv);
}
otError Mle::AppendChallenge(Message &aMessage, const uint8_t *aChallenge, uint8_t aChallengeLength)
@@ -1200,7 +1200,7 @@ otError Mle::AppendLinkFrameCounter(Message &aMessage)
tlv.Init();
tlv.SetFrameCounter(Get<KeyManager>().GetMacFrameCounter());
return aMessage.Append(&tlv, sizeof(tlv));
return aMessage.AppendTlv(tlv);
}
otError Mle::AppendMleFrameCounter(Message &aMessage)
@@ -1210,7 +1210,7 @@ otError Mle::AppendMleFrameCounter(Message &aMessage)
tlv.Init();
tlv.SetFrameCounter(Get<KeyManager>().GetMleFrameCounter());
return aMessage.Append(&tlv, sizeof(tlv));
return aMessage.AppendTlv(tlv);
}
otError Mle::AppendAddress16(Message &aMessage, uint16_t aRloc16)
@@ -1220,7 +1220,7 @@ otError Mle::AppendAddress16(Message &aMessage, uint16_t aRloc16)
tlv.Init();
tlv.SetRloc16(aRloc16);
return aMessage.Append(&tlv, sizeof(tlv));
return aMessage.AppendTlv(tlv);
}
otError Mle::AppendLeaderData(Message &aMessage)
@@ -1229,7 +1229,7 @@ otError Mle::AppendLeaderData(Message &aMessage)
mLeaderData.SetDataVersion(Get<NetworkData::Leader>().GetVersion());
mLeaderData.SetStableDataVersion(Get<NetworkData::Leader>().GetStableVersion());
return aMessage.Append(&mLeaderData, sizeof(mLeaderData));
return aMessage.AppendTlv(mLeaderData);
}
void Mle::FillNetworkDataTlv(NetworkDataTlv &aTlv, bool aStableOnly)
@@ -1251,7 +1251,7 @@ otError Mle::AppendNetworkData(Message &aMessage, bool aStableOnly)
tlv.Init();
FillNetworkDataTlv(tlv, aStableOnly);
SuccessOrExit(error = aMessage.Append(&tlv, sizeof(Tlv) + tlv.GetLength()));
error = aMessage.AppendTlv(tlv);
exit:
return error;
@@ -1279,7 +1279,7 @@ otError Mle::AppendScanMask(Message &aMessage, uint8_t aScanMask)
tlv.Init();
tlv.SetMask(aScanMask);
return aMessage.Append(&tlv, sizeof(tlv));
return aMessage.AppendTlv(tlv);
}
otError Mle::AppendLinkMargin(Message &aMessage, uint8_t aLinkMargin)
@@ -1289,7 +1289,7 @@ otError Mle::AppendLinkMargin(Message &aMessage, uint8_t aLinkMargin)
tlv.Init();
tlv.SetLinkMargin(aLinkMargin);
return aMessage.Append(&tlv, sizeof(tlv));
return aMessage.AppendTlv(tlv);
}
otError Mle::AppendVersion(Message &aMessage)
@@ -1299,7 +1299,7 @@ otError Mle::AppendVersion(Message &aMessage)
tlv.Init();
tlv.SetVersion(kThreadVersion);
return aMessage.Append(&tlv, sizeof(tlv));
return aMessage.AppendTlv(tlv);
}
otError Mle::AppendAddressRegistration(Message &aMessage)
@@ -1382,7 +1382,7 @@ otError Mle::AppendTimeRequest(Message &aMessage)
tlv.Init();
return aMessage.Append(&tlv, sizeof(tlv));
return aMessage.AppendTlv(tlv);
}
otError Mle::AppendTimeParameter(Message &aMessage)
@@ -1393,7 +1393,7 @@ otError Mle::AppendTimeParameter(Message &aMessage)
tlv.SetTimeSyncPeriod(Get<TimeSync>().GetTimeSyncPeriod());
tlv.SetXtalThreshold(Get<TimeSync>().GetXtalThreshold());
return aMessage.Append(&tlv, sizeof(tlv));
return aMessage.AppendTlv(tlv);
}
otError Mle::AppendXtalAccuracy(Message &aMessage)
@@ -1403,7 +1403,7 @@ otError Mle::AppendXtalAccuracy(Message &aMessage)
tlv.Init();
tlv.SetXtalAccuracy(otPlatTimeGetXtalAccuracy());
return aMessage.Append(&tlv, sizeof(tlv));
return aMessage.AppendTlv(tlv);
}
#endif // OPENTHREAD_CONFIG_ENABLE_TIME_SYNC
@@ -1418,7 +1418,7 @@ otError Mle::AppendActiveTimestamp(Message &aMessage)
timestampTlv.Init();
*static_cast<MeshCoP::Timestamp *>(&timestampTlv) = *timestamp;
error = aMessage.Append(&timestampTlv, sizeof(timestampTlv));
error = aMessage.AppendTlv(timestampTlv);
exit:
return error;
@@ -1435,7 +1435,7 @@ otError Mle::AppendPendingTimestamp(Message &aMessage)
timestampTlv.Init();
*static_cast<MeshCoP::Timestamp *>(&timestampTlv) = *timestamp;
error = aMessage.Append(&timestampTlv, sizeof(timestampTlv));
error = aMessage.AppendTlv(timestampTlv);
exit:
return error;
@@ -2326,7 +2326,7 @@ otError Mle::SendAnnounce(uint8_t aChannel, bool aOrphanAnnounce, const Ip6::Add
channel.Init();
channel.SetChannel(Get<Mac::Mac>().GetPanChannel());
SuccessOrExit(error = message->Append(&channel, sizeof(channel)));
SuccessOrExit(error = message->AppendTlv(channel));
if (aOrphanAnnounce)
{
@@ -2335,7 +2335,7 @@ otError Mle::SendAnnounce(uint8_t aChannel, bool aOrphanAnnounce, const Ip6::Add
activeTimestamp.SetTicks(0);
activeTimestamp.SetAuthoritative(true);
SuccessOrExit(error = message->Append(&activeTimestamp, sizeof(activeTimestamp)));
SuccessOrExit(error = message->AppendTlv(activeTimestamp));
}
else
{
@@ -2344,7 +2344,7 @@ otError Mle::SendAnnounce(uint8_t aChannel, bool aOrphanAnnounce, const Ip6::Add
panid.Init();
panid.SetPanId(Get<Mac::Mac>().GetPanId());
SuccessOrExit(error = message->Append(&panid, sizeof(panid)));
SuccessOrExit(error = message->AppendTlv(panid));
SuccessOrExit(error = SendMessage(*message, aDestination));
otLogInfoMle("Send Announce on channel %d", aChannel);
+17 -23
View File
@@ -2722,7 +2722,7 @@ otError MleRouter::SendDiscoveryResponse(const Ip6::Address &aDestination, uint1
commissionerUdpPort.Init();
commissionerUdpPort.SetUdpPort(MeshCoP::kBorderAgentUdpPort);
SuccessOrExit(error = message->Append(&commissionerUdpPort, sizeof(commissionerUdpPort)));
SuccessOrExit(error = message->AppendTlv(commissionerUdpPort));
discoveryResponse.SetNativeCommissioner(true);
}
@@ -2731,17 +2731,17 @@ otError MleRouter::SendDiscoveryResponse(const Ip6::Address &aDestination, uint1
discoveryResponse.SetNativeCommissioner(false);
}
SuccessOrExit(error = message->Append(&discoveryResponse, sizeof(discoveryResponse)));
SuccessOrExit(error = message->AppendTlv(discoveryResponse));
// Extended PAN ID TLV
extPanId.Init();
extPanId.SetExtendedPanId(Get<Mac::Mac>().GetExtendedPanId());
SuccessOrExit(error = message->Append(&extPanId, sizeof(extPanId)));
SuccessOrExit(error = message->AppendTlv(extPanId));
// Network Name TLV
networkName.Init();
networkName.SetNetworkName(Get<Mac::Mac>().GetNetworkName());
SuccessOrExit(error = message->Append(&networkName, sizeof(tlv) + networkName.GetLength()));
SuccessOrExit(error = message->AppendTlv(networkName));
#if OPENTHREAD_CONFIG_ENABLE_STEERING_DATA_SET_OOB
@@ -2749,7 +2749,7 @@ otError MleRouter::SendDiscoveryResponse(const Ip6::Address &aDestination, uint1
// Otherwise use the one from commissioning data.
if (!mSteeringData.IsCleared())
{
SuccessOrExit(error = message->Append(&mSteeringData, sizeof(Tlv) + mSteeringData.GetLength()));
SuccessOrExit(error = message->AppendTlv(mSteeringData));
}
else
#endif // OPENTHREAD_CONFIG_ENABLE_STEERING_DATA_SET_OOB
@@ -2759,14 +2759,14 @@ otError MleRouter::SendDiscoveryResponse(const Ip6::Address &aDestination, uint1
if (steeringData != NULL)
{
SuccessOrExit(error = message->Append(steeringData, sizeof(*steeringData) + steeringData->GetLength()));
SuccessOrExit(error = message->AppendTlv(*steeringData));
}
}
// Joiner UDP Port TLV
joinerUdpPort.Init();
joinerUdpPort.SetUdpPort(Get<MeshCoP::JoinerRouter>().GetJoinerUdpPort());
SuccessOrExit(error = message->Append(&joinerUdpPort, sizeof(tlv) + joinerUdpPort.GetLength()));
SuccessOrExit(error = message->AppendTlv(joinerUdpPort));
tlv.SetLength(static_cast<uint8_t>(message->GetLength() - startOffset));
message->Write(startOffset - sizeof(tlv), sizeof(tlv), &tlv);
@@ -3799,18 +3799,18 @@ otError MleRouter::SendAddressSolicit(ThreadStatusTlv::Status aStatus)
macAddr64Tlv.Init();
macAddr64Tlv.SetMacAddr(Get<Mac::Mac>().GetExtAddress());
SuccessOrExit(error = message->Append(&macAddr64Tlv, sizeof(macAddr64Tlv)));
SuccessOrExit(error = message->AppendTlv(macAddr64Tlv));
if (IsRouterIdValid(mPreviousRouterId))
{
rlocTlv.Init();
rlocTlv.SetRloc16(GetRloc16(mPreviousRouterId));
SuccessOrExit(error = message->Append(&rlocTlv, sizeof(rlocTlv)));
SuccessOrExit(error = message->AppendTlv(rlocTlv));
}
statusTlv.Init();
statusTlv.SetStatus(aStatus);
SuccessOrExit(error = message->Append(&statusTlv, sizeof(statusTlv)));
SuccessOrExit(error = message->AppendTlv(statusTlv));
#if OPENTHREAD_CONFIG_ENABLE_TIME_SYNC
SuccessOrExit(error = AppendXtalAccuracy(*message));
@@ -3853,11 +3853,11 @@ otError MleRouter::SendAddressRelease(void)
rlocTlv.Init();
rlocTlv.SetRloc16(GetRloc16(mRouterId));
SuccessOrExit(error = message->Append(&rlocTlv, sizeof(rlocTlv)));
SuccessOrExit(error = message->AppendTlv(rlocTlv));
macAddr64Tlv.Init();
macAddr64Tlv.SetMacAddr(Get<Mac::Mac>().GetExtAddress());
SuccessOrExit(error = message->Append(&macAddr64Tlv, sizeof(macAddr64Tlv)));
SuccessOrExit(error = message->AppendTlv(macAddr64Tlv));
messageInfo.SetSockAddr(GetMeshLocal16());
SuccessOrExit(error = GetLeaderAddress(messageInfo.GetPeerAddr()));
@@ -4098,13 +4098,13 @@ void MleRouter::SendAddressSolicitResponse(const Coap::Message & aRequest,
statusTlv.Init();
statusTlv.SetStatus(aRouter == NULL ? statusTlv.kNoAddressAvailable : statusTlv.kSuccess);
SuccessOrExit(error = message->Append(&statusTlv, sizeof(statusTlv)));
SuccessOrExit(error = message->AppendTlv(statusTlv));
if (aRouter != NULL)
{
rlocTlv.Init();
rlocTlv.SetRloc16(aRouter->GetRloc16());
SuccessOrExit(error = message->Append(&rlocTlv, sizeof(rlocTlv)));
SuccessOrExit(error = message->AppendTlv(rlocTlv));
routerMaskTlv.Init();
routerMaskTlv.SetIdSequence(mRouterTable.GetRouterIdSequence());
@@ -4118,7 +4118,7 @@ void MleRouter::SendAddressSolicitResponse(const Coap::Message & aRequest,
}
}
SuccessOrExit(error = message->Append(&routerMaskTlv, sizeof(routerMaskTlv)));
SuccessOrExit(error = message->AppendTlv(routerMaskTlv));
}
SuccessOrExit(error = Get<Coap::Coap>().SendMessage(*message, aMessageInfo));
@@ -4300,15 +4300,12 @@ void MleRouter::FillConnectivityTlv(ConnectivityTlv &aTlv)
otError MleRouter::AppendConnectivity(Message &aMessage)
{
otError error;
ConnectivityTlv tlv;
tlv.Init();
FillConnectivityTlv(tlv);
SuccessOrExit(error = aMessage.Append(&tlv, sizeof(tlv)));
exit:
return error;
return aMessage.AppendTlv(tlv);
}
otError MleRouter::AppendChildAddresses(Message &aMessage, Child &aChild)
@@ -4421,15 +4418,12 @@ void MleRouter::FillRouteTlv(RouteTlv &aTlv)
otError MleRouter::AppendRoute(Message &aMessage)
{
otError error;
RouteTlv tlv;
tlv.Init();
FillRouteTlv(tlv);
SuccessOrExit(error = aMessage.Append(&tlv, sizeof(Tlv) + tlv.GetLength()));
exit:
return error;
return aMessage.AppendTlv(tlv);
}
otError MleRouter::AppendActiveDataset(Message &aMessage)
+1 -1
View File
@@ -1024,7 +1024,7 @@ otError NetworkData::SendServerDataNotification(uint16_t aRloc16)
ThreadRloc16Tlv rloc16Tlv;
rloc16Tlv.Init();
rloc16Tlv.SetRloc16(aRloc16);
SuccessOrExit(error = message->Append(&rloc16Tlv, sizeof(rloc16Tlv)));
SuccessOrExit(error = message->AppendTlv(rloc16Tlv));
}
Get<Mle::MleRouter>().GetLeaderAloc(messageInfo.GetPeerAddr());
+2 -2
View File
@@ -354,7 +354,7 @@ void Leader::SendCommissioningGetResponse(const Coap::Message & aRequest,
{
if (cur->GetType() == aTlvs[index])
{
SuccessOrExit(error = message->Append(cur, sizeof(NetworkDataTlv) + cur->GetLength()));
SuccessOrExit(error = message->AppendTlv(*cur));
break;
}
}
@@ -394,7 +394,7 @@ void Leader::SendCommissioningSetResponse(const Coap::Message & aRequest,
state.Init();
state.SetState(aState);
SuccessOrExit(error = message->Append(&state, sizeof(state)));
SuccessOrExit(error = message->AppendTlv(state));
SuccessOrExit(error = Get<Coap::Coap>().SendMessage(*message, aMessageInfo));
+11 -11
View File
@@ -301,7 +301,7 @@ otError NetworkDiagnostic::FillRequestedTlvs(Message & aRequest,
ExtMacAddressTlv tlv;
tlv.Init();
tlv.SetMacAddr(Get<Mac::Mac>().GetExtAddress());
SuccessOrExit(error = aResponse.Append(&tlv, sizeof(tlv)));
SuccessOrExit(error = aResponse.AppendTlv(tlv));
break;
}
@@ -310,7 +310,7 @@ otError NetworkDiagnostic::FillRequestedTlvs(Message & aRequest,
Address16Tlv tlv;
tlv.Init();
tlv.SetRloc16(Get<Mle::MleRouter>().GetRloc16());
SuccessOrExit(error = aResponse.Append(&tlv, sizeof(tlv)));
SuccessOrExit(error = aResponse.AppendTlv(tlv));
break;
}
@@ -319,7 +319,7 @@ otError NetworkDiagnostic::FillRequestedTlvs(Message & aRequest,
ModeTlv tlv;
tlv.Init();
tlv.SetMode(Get<Mle::MleRouter>().GetDeviceMode());
SuccessOrExit(error = aResponse.Append(&tlv, sizeof(tlv)));
SuccessOrExit(error = aResponse.AppendTlv(tlv));
break;
}
@@ -330,7 +330,7 @@ otError NetworkDiagnostic::FillRequestedTlvs(Message & aRequest,
TimeoutTlv tlv;
tlv.Init();
tlv.SetTimeout(TimerMilli::MsecToSec(Get<DataPollManager>().GetKeepAlivePollPeriod()));
SuccessOrExit(error = aResponse.Append(&tlv, sizeof(tlv)));
SuccessOrExit(error = aResponse.AppendTlv(tlv));
}
break;
@@ -341,7 +341,7 @@ otError NetworkDiagnostic::FillRequestedTlvs(Message & aRequest,
ConnectivityTlv tlv;
tlv.Init();
Get<Mle::MleRouter>().FillConnectivityTlv(reinterpret_cast<Mle::ConnectivityTlv &>(tlv));
SuccessOrExit(error = aResponse.Append(&tlv, sizeof(tlv)));
SuccessOrExit(error = aResponse.AppendTlv(tlv));
break;
}
@@ -351,7 +351,7 @@ otError NetworkDiagnostic::FillRequestedTlvs(Message & aRequest,
RouteTlv tlv;
tlv.Init();
Get<Mle::MleRouter>().FillRouteTlv(reinterpret_cast<Mle::RouteTlv &>(tlv));
SuccessOrExit(error = aResponse.Append(&tlv, tlv.GetSize()));
SuccessOrExit(error = aResponse.AppendTlv(tlv));
break;
}
#endif
@@ -360,7 +360,7 @@ otError NetworkDiagnostic::FillRequestedTlvs(Message & aRequest,
{
LeaderDataTlv tlv(reinterpret_cast<const LeaderDataTlv &>(Get<Mle::MleRouter>().GetLeaderDataTlv()));
tlv.Init();
SuccessOrExit(error = aResponse.Append(&tlv, tlv.GetSize()));
SuccessOrExit(error = aResponse.AppendTlv(tlv));
break;
}
@@ -370,7 +370,7 @@ otError NetworkDiagnostic::FillRequestedTlvs(Message & aRequest,
tlv.Init();
Get<Mle::MleRouter>().FillNetworkDataTlv((reinterpret_cast<Mle::NetworkDataTlv &>(tlv)), false);
SuccessOrExit(error = aResponse.Append(&tlv, tlv.GetSize()));
SuccessOrExit(error = aResponse.AppendTlv(tlv));
break;
}
@@ -386,7 +386,7 @@ otError NetworkDiagnostic::FillRequestedTlvs(Message & aRequest,
memset(&tlv, 0, sizeof(tlv));
tlv.Init();
FillMacCountersTlv(tlv);
SuccessOrExit(error = aResponse.Append(&tlv, tlv.GetSize()));
SuccessOrExit(error = aResponse.AppendTlv(tlv));
break;
}
@@ -434,7 +434,7 @@ otError NetworkDiagnostic::FillRequestedTlvs(Message & aRequest,
}
tlv.SetLength(length);
SuccessOrExit(error = aResponse.Append(&tlv, tlv.GetSize()));
SuccessOrExit(error = aResponse.AppendTlv(tlv));
break;
}
@@ -447,7 +447,7 @@ otError NetworkDiagnostic::FillRequestedTlvs(Message & aRequest,
MaxChildTimeoutTlv tlv;
tlv.Init();
tlv.SetTimeout(maxTimeout);
SuccessOrExit(error = aResponse.Append(&tlv, sizeof(tlv)));
SuccessOrExit(error = aResponse.AppendTlv(tlv));
}
break;
+2 -2
View File
@@ -134,11 +134,11 @@ otError PanIdQueryServer::SendConflict(void)
channelMask.Init();
channelMask.SetChannelMask(mChannelMask);
SuccessOrExit(error = message->Append(&channelMask, channelMask.GetSize()));
SuccessOrExit(error = message->AppendTlv(channelMask));
panId.Init();
panId.SetPanId(mPanId);
SuccessOrExit(error = message->Append(&panId, sizeof(panId)));
SuccessOrExit(error = message->AppendTlv(panId));
messageInfo.SetSockAddr(Get<Mle::MleRouter>().GetMeshLocal16());
messageInfo.SetPeerAddr(mCommissioner);