mirror of
https://github.com/espressif/openthread.git
synced 2026-10-02 05:47:40 +00:00
Force source address of Address Query/Response messages to RLOC. (#350)
This commit is contained in:
@@ -200,6 +200,7 @@ ThreadError AddressResolver::SendAddressQuery(const Ip6::Address &aEid)
|
|||||||
memset(&messageInfo, 0, sizeof(messageInfo));
|
memset(&messageInfo, 0, sizeof(messageInfo));
|
||||||
messageInfo.GetPeerAddr().mFields.m16[0] = HostSwap16(0xff03);
|
messageInfo.GetPeerAddr().mFields.m16[0] = HostSwap16(0xff03);
|
||||||
messageInfo.GetPeerAddr().mFields.m16[7] = HostSwap16(0x0002);
|
messageInfo.GetPeerAddr().mFields.m16[7] = HostSwap16(0x0002);
|
||||||
|
messageInfo.GetSockAddr() = *mMle.GetMeshLocal16();
|
||||||
messageInfo.mPeerPort = kCoapUdpPort;
|
messageInfo.mPeerPort = kCoapUdpPort;
|
||||||
messageInfo.mInterfaceId = mNetif.GetInterfaceId();
|
messageInfo.mInterfaceId = mNetif.GetInterfaceId();
|
||||||
|
|
||||||
@@ -584,6 +585,7 @@ void AddressResolver::SendAddressQueryResponse(const ThreadTargetTlv &aTargetTlv
|
|||||||
|
|
||||||
memset(&messageInfo, 0, sizeof(messageInfo));
|
memset(&messageInfo, 0, sizeof(messageInfo));
|
||||||
memcpy(&messageInfo.GetPeerAddr(), &aDestination, sizeof(messageInfo.GetPeerAddr()));
|
memcpy(&messageInfo.GetPeerAddr(), &aDestination, sizeof(messageInfo.GetPeerAddr()));
|
||||||
|
messageInfo.GetSockAddr() = *mMle.GetMeshLocal16();
|
||||||
messageInfo.mPeerPort = kCoapUdpPort;
|
messageInfo.mPeerPort = kCoapUdpPort;
|
||||||
|
|
||||||
SuccessOrExit(error = mSocket.SendTo(*message, messageInfo));
|
SuccessOrExit(error = mSocket.SendTo(*message, messageInfo));
|
||||||
|
|||||||
Reference in New Issue
Block a user