[mle] change message handlers to return void (#4941)

Returned errors were always being ignored.
This commit is contained in:
Jonathan Hui
2020-05-11 12:44:54 -07:00
parent a1adaac91a
commit 86be53e190
4 changed files with 81 additions and 119 deletions
+29 -49
View File
@@ -2652,12 +2652,12 @@ void Mle::HandleUdpReceive(Message &aMessage, const Ip6::MessageInfo &aMessageIn
{
#if OPENTHREAD_FTD
case Header::kCommandDiscoveryRequest:
IgnoreError(Get<MleRouter>().HandleDiscoveryRequest(aMessage, aMessageInfo));
Get<MleRouter>().HandleDiscoveryRequest(aMessage, aMessageInfo);
break;
#endif
case Header::kCommandDiscoveryResponse:
IgnoreError(HandleDiscoveryResponse(aMessage, aMessageInfo));
HandleDiscoveryResponse(aMessage, aMessageInfo);
break;
default:
@@ -2774,35 +2774,35 @@ void Mle::HandleUdpReceive(Message &aMessage, const Ip6::MessageInfo &aMessageIn
switch (command)
{
case Header::kCommandAdvertisement:
IgnoreError(HandleAdvertisement(aMessage, aMessageInfo, neighbor));
HandleAdvertisement(aMessage, aMessageInfo, neighbor);
break;
case Header::kCommandDataResponse:
IgnoreError(HandleDataResponse(aMessage, aMessageInfo, neighbor));
HandleDataResponse(aMessage, aMessageInfo, neighbor);
break;
case Header::kCommandParentResponse:
IgnoreError(HandleParentResponse(aMessage, aMessageInfo, keySequence));
HandleParentResponse(aMessage, aMessageInfo, keySequence);
break;
case Header::kCommandChildIdResponse:
IgnoreError(HandleChildIdResponse(aMessage, aMessageInfo, neighbor));
HandleChildIdResponse(aMessage, aMessageInfo, neighbor);
break;
case Header::kCommandAnnounce:
IgnoreError(HandleAnnounce(aMessage, aMessageInfo));
HandleAnnounce(aMessage, aMessageInfo);
break;
case Header::kCommandChildUpdateRequest:
#if OPENTHREAD_FTD
if (IsRouterOrLeader())
{
IgnoreError(Get<MleRouter>().HandleChildUpdateRequest(aMessage, aMessageInfo, keySequence));
Get<MleRouter>().HandleChildUpdateRequest(aMessage, aMessageInfo, keySequence);
}
else
#endif
{
IgnoreError(HandleChildUpdateRequest(aMessage, aMessageInfo, neighbor));
HandleChildUpdateRequest(aMessage, aMessageInfo, neighbor);
}
break;
@@ -2811,39 +2811,39 @@ void Mle::HandleUdpReceive(Message &aMessage, const Ip6::MessageInfo &aMessageIn
#if OPENTHREAD_FTD
if (IsRouterOrLeader())
{
IgnoreError(Get<MleRouter>().HandleChildUpdateResponse(aMessage, aMessageInfo, keySequence, neighbor));
Get<MleRouter>().HandleChildUpdateResponse(aMessage, aMessageInfo, keySequence, neighbor);
}
else
#endif
{
IgnoreError(HandleChildUpdateResponse(aMessage, aMessageInfo, neighbor));
HandleChildUpdateResponse(aMessage, aMessageInfo, neighbor);
}
break;
#if OPENTHREAD_FTD
case Header::kCommandLinkRequest:
IgnoreError(Get<MleRouter>().HandleLinkRequest(aMessage, aMessageInfo, neighbor));
Get<MleRouter>().HandleLinkRequest(aMessage, aMessageInfo, neighbor);
break;
case Header::kCommandLinkAccept:
IgnoreError(Get<MleRouter>().HandleLinkAccept(aMessage, aMessageInfo, keySequence, neighbor));
Get<MleRouter>().HandleLinkAccept(aMessage, aMessageInfo, keySequence, neighbor);
break;
case Header::kCommandLinkAcceptAndRequest:
IgnoreError(Get<MleRouter>().HandleLinkAcceptAndRequest(aMessage, aMessageInfo, keySequence, neighbor));
Get<MleRouter>().HandleLinkAcceptAndRequest(aMessage, aMessageInfo, keySequence, neighbor);
break;
case Header::kCommandDataRequest:
IgnoreError(Get<MleRouter>().HandleDataRequest(aMessage, aMessageInfo, neighbor));
Get<MleRouter>().HandleDataRequest(aMessage, aMessageInfo, neighbor);
break;
case Header::kCommandParentRequest:
IgnoreError(Get<MleRouter>().HandleParentRequest(aMessage, aMessageInfo));
Get<MleRouter>().HandleParentRequest(aMessage, aMessageInfo);
break;
case Header::kCommandChildIdRequest:
IgnoreError(Get<MleRouter>().HandleChildIdRequest(aMessage, aMessageInfo, keySequence));
Get<MleRouter>().HandleChildIdRequest(aMessage, aMessageInfo, keySequence);
break;
#if OPENTHREAD_CONFIG_TIME_SYNC_ENABLE
@@ -2867,7 +2867,7 @@ exit:
return;
}
otError Mle::HandleAdvertisement(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo, Neighbor *aNeighbor)
void Mle::HandleAdvertisement(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo, Neighbor *aNeighbor)
{
otError error = OT_ERROR_NONE;
uint16_t sourceAddress;
@@ -2952,13 +2952,9 @@ exit:
{
otLogWarnMle("Failed to process Advertisement: %s", otThreadErrorToString(error));
}
return error;
}
otError Mle::HandleDataResponse(const Message & aMessage,
const Ip6::MessageInfo &aMessageInfo,
const Neighbor * aNeighbor)
void Mle::HandleDataResponse(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo, const Neighbor *aNeighbor)
{
otError error;
@@ -2984,8 +2980,6 @@ exit:
{
otLogWarnMle("Failed to process Data Response: %s", otThreadErrorToString(error));
}
return error;
}
bool Mle::IsNetworkDataNewer(const LeaderData &aLeaderData)
@@ -3220,7 +3214,7 @@ exit:
return rval;
}
otError Mle::HandleParentResponse(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo, uint32_t aKeySequence)
void Mle::HandleParentResponse(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo, uint32_t aKeySequence)
{
otError error = OT_ERROR_NONE;
const otThreadLinkInfo *linkInfo = static_cast<const otThreadLinkInfo *>(aMessageInfo.GetLinkInfo());
@@ -3424,13 +3418,11 @@ exit:
{
otLogWarnMle("Failed to process Parent Response: %s", otThreadErrorToString(error));
}
return error;
}
otError Mle::HandleChildIdResponse(const Message & aMessage,
const Ip6::MessageInfo &aMessageInfo,
const Neighbor * aNeighbor)
void Mle::HandleChildIdResponse(const Message & aMessage,
const Ip6::MessageInfo &aMessageInfo,
const Neighbor * aNeighbor)
{
OT_UNUSED_VARIABLE(aMessageInfo);
@@ -3554,13 +3546,9 @@ exit:
{
otLogWarnMle("Failed to process Child ID Response: %s", otThreadErrorToString(error));
}
return error;
}
otError Mle::HandleChildUpdateRequest(const Message & aMessage,
const Ip6::MessageInfo &aMessageInfo,
Neighbor * aNeighbor)
void Mle::HandleChildUpdateRequest(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo, Neighbor *aNeighbor)
{
static const uint8_t kMaxResponseTlvs = 6;
@@ -3649,13 +3637,11 @@ exit:
{
otLogWarnMle("Failed to process Child Update Request from parent: %s", otThreadErrorToString(error));
}
return error;
}
otError Mle::HandleChildUpdateResponse(const Message & aMessage,
const Ip6::MessageInfo &aMessageInfo,
const Neighbor * aNeighbor)
void Mle::HandleChildUpdateResponse(const Message & aMessage,
const Ip6::MessageInfo &aMessageInfo,
const Neighbor * aNeighbor)
{
otError error = OT_ERROR_NONE;
uint8_t status;
@@ -3778,11 +3764,9 @@ exit:
{
otLogWarnMle("Failed to process Child Update Response: %s", otThreadErrorToString(error));
}
return error;
}
otError Mle::HandleAnnounce(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo)
void Mle::HandleAnnounce(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo)
{
OT_UNUSED_VARIABLE(aMessageInfo);
@@ -3852,8 +3836,6 @@ exit:
{
otLogWarnMle("Failed to process Announce: %s", otThreadErrorToString(error));
}
return error;
}
void Mle::ProcessAnnounce(void)
@@ -3878,7 +3860,7 @@ void Mle::ProcessAnnounce(void)
IgnoreError(Start(/* aAnnounceAttach */ true));
}
otError Mle::HandleDiscoveryResponse(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo)
void Mle::HandleDiscoveryResponse(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo)
{
otError error = OT_ERROR_NONE;
const otThreadLinkInfo * linkInfo = static_cast<const otThreadLinkInfo *>(aMessageInfo.GetLinkInfo());
@@ -3977,8 +3959,6 @@ exit:
{
otLogWarnMle("Failed to process Discovery Response: %s", otThreadErrorToString(error));
}
return error;
}
Neighbor *Mle::GetNeighbor(uint16_t aAddress)
+10 -14
View File
@@ -1718,22 +1718,18 @@ private:
void ScheduleMessageTransmissionTimer(void);
otError ReadChallengeOrResponse(const Message &aMessage, uint8_t aTlvType, Challenge &aBuffer);
otError HandleAdvertisement(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo, Neighbor *aNeighbor);
otError HandleChildIdResponse(const Message & aMessage,
const Ip6::MessageInfo &aMessageInfo,
const Neighbor * aNeighbor);
otError HandleChildUpdateRequest(const Message & aMessage,
const Ip6::MessageInfo &aMessageInfo,
Neighbor * aNeighbor);
otError HandleChildUpdateResponse(const Message & aMessage,
const Ip6::MessageInfo &aMessageInfo,
const Neighbor * aNeighbor);
otError HandleDataResponse(const Message & aMessage,
void HandleAdvertisement(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo, Neighbor *aNeighbor);
void HandleChildIdResponse(const Message & aMessage,
const Ip6::MessageInfo &aMessageInfo,
const Neighbor * aNeighbor);
otError HandleParentResponse(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo, uint32_t aKeySequence);
otError HandleAnnounce(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo);
otError HandleDiscoveryResponse(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo);
void HandleChildUpdateRequest(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo, Neighbor *aNeighbor);
void HandleChildUpdateResponse(const Message & aMessage,
const Ip6::MessageInfo &aMessageInfo,
const Neighbor * aNeighbor);
void HandleDataResponse(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo, const Neighbor *aNeighbor);
void HandleParentResponse(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo, uint32_t aKeySequence);
void HandleAnnounce(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo);
void HandleDiscoveryResponse(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo);
otError HandleLeaderData(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo);
void ProcessAnnounce(void);
bool HasUnregisteredAddress(void);
+29 -41
View File
@@ -561,7 +561,7 @@ exit:
return error;
}
otError MleRouter::HandleLinkRequest(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo, Neighbor *aNeighbor)
void MleRouter::HandleLinkRequest(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo, Neighbor *aNeighbor)
{
otError error = OT_ERROR_NONE;
Neighbor * neighbor = NULL;
@@ -672,7 +672,11 @@ otError MleRouter::HandleLinkRequest(const Message &aMessage, const Ip6::Message
SuccessOrExit(error = SendLinkAccept(aMessageInfo, neighbor, requestedTlvs, challenge));
exit:
return error;
if (error != OT_ERROR_NONE)
{
otLogNoteMle("Failed to process Link Request: %s", otThreadErrorToString(error));
}
}
otError MleRouter::SendLinkAccept(const Ip6::MessageInfo &aMessageInfo,
@@ -770,10 +774,10 @@ exit:
return error;
}
otError MleRouter::HandleLinkAccept(const Message & aMessage,
const Ip6::MessageInfo &aMessageInfo,
uint32_t aKeySequence,
Neighbor * aNeighbor)
void MleRouter::HandleLinkAccept(const Message & aMessage,
const Ip6::MessageInfo &aMessageInfo,
uint32_t aKeySequence,
Neighbor * aNeighbor)
{
otError error = HandleLinkAccept(aMessage, aMessageInfo, aKeySequence, aNeighbor, false);
@@ -781,14 +785,12 @@ otError MleRouter::HandleLinkAccept(const Message & aMessage,
{
otLogWarnMle("Failed to process Link Accept: %s", otThreadErrorToString(error));
}
return error;
}
otError MleRouter::HandleLinkAcceptAndRequest(const Message & aMessage,
const Ip6::MessageInfo &aMessageInfo,
uint32_t aKeySequence,
Neighbor * aNeighbor)
void MleRouter::HandleLinkAcceptAndRequest(const Message & aMessage,
const Ip6::MessageInfo &aMessageInfo,
uint32_t aKeySequence,
Neighbor * aNeighbor)
{
otError error = HandleLinkAccept(aMessage, aMessageInfo, aKeySequence, aNeighbor, true);
@@ -796,8 +798,6 @@ otError MleRouter::HandleLinkAcceptAndRequest(const Message & aMessage,
{
otLogWarnMle("Failed to process Link Accept and Request: %s", otThreadErrorToString(error));
}
return error;
}
otError MleRouter::HandleLinkAccept(const Message & aMessage,
@@ -1584,7 +1584,7 @@ exit:
return changed;
}
otError MleRouter::HandleParentRequest(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo)
void MleRouter::HandleParentRequest(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo)
{
otError error = OT_ERROR_NONE;
const otThreadLinkInfo *linkInfo = static_cast<const otThreadLinkInfo *>(aMessageInfo.GetLinkInfo());
@@ -1695,8 +1695,6 @@ exit:
{
otLogWarnMle("Failed to process Parent Request: %s", otThreadErrorToString(error));
}
return error;
}
void MleRouter::HandleStateUpdateTimer(Timer &aTimer)
@@ -2138,9 +2136,9 @@ exit:
return error;
}
otError MleRouter::HandleChildIdRequest(const Message & aMessage,
const Ip6::MessageInfo &aMessageInfo,
uint32_t aKeySequence)
void MleRouter::HandleChildIdRequest(const Message & aMessage,
const Ip6::MessageInfo &aMessageInfo,
uint32_t aKeySequence)
{
otError error = OT_ERROR_NONE;
const otThreadLinkInfo *linkInfo = static_cast<const otThreadLinkInfo *>(aMessageInfo.GetLinkInfo());
@@ -2310,13 +2308,11 @@ exit:
{
otLogWarnMle("Failed to process Child ID Request: %s", otThreadErrorToString(error));
}
return error;
}
otError MleRouter::HandleChildUpdateRequest(const Message & aMessage,
const Ip6::MessageInfo &aMessageInfo,
uint32_t aKeySequence)
void MleRouter::HandleChildUpdateRequest(const Message & aMessage,
const Ip6::MessageInfo &aMessageInfo,
uint32_t aKeySequence)
{
static const uint8_t kMaxResponseTlvs = 10;
@@ -2483,14 +2479,12 @@ exit:
{
otLogWarnMle("Failed to process Child Update Request from child: %s", otThreadErrorToString(error));
}
return error;
}
otError MleRouter::HandleChildUpdateResponse(const Message & aMessage,
const Ip6::MessageInfo &aMessageInfo,
uint32_t aKeySequence,
Neighbor * aNeighbor)
void MleRouter::HandleChildUpdateResponse(const Message & aMessage,
const Ip6::MessageInfo &aMessageInfo,
uint32_t aKeySequence,
Neighbor * aNeighbor)
{
otError error = OT_ERROR_NONE;
const otThreadLinkInfo *linkInfo = static_cast<const otThreadLinkInfo *>(aMessageInfo.GetLinkInfo());
@@ -2631,13 +2625,11 @@ exit:
{
otLogWarnMle("Failed to process Child Update Response from child: %s", otThreadErrorToString(error));
}
return error;
}
otError MleRouter::HandleDataRequest(const Message & aMessage,
const Ip6::MessageInfo &aMessageInfo,
const Neighbor * aNeighbor)
void MleRouter::HandleDataRequest(const Message & aMessage,
const Ip6::MessageInfo &aMessageInfo,
const Neighbor * aNeighbor)
{
otError error = OT_ERROR_NONE;
RequestedTlvs requestedTlvs;
@@ -2692,8 +2684,6 @@ exit:
{
otLogWarnMle("Failed to process Data Request: %s", otThreadErrorToString(error));
}
return error;
}
void MleRouter::HandleNetworkDataUpdateRouter(void)
@@ -2784,7 +2774,7 @@ void MleRouter::SetSteeringData(const Mac::ExtAddress *aExtAddress)
}
#endif // OPENTHREAD_CONFIG_MLE_STEERING_DATA_SET_OOB_ENABLE
otError MleRouter::HandleDiscoveryRequest(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo)
void MleRouter::HandleDiscoveryRequest(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo)
{
otError error = OT_ERROR_NONE;
Tlv tlv;
@@ -2855,8 +2845,6 @@ exit:
{
otLogWarnMle("Failed to process Discovery Request: %s", otThreadErrorToString(error));
}
return error;
}
otError MleRouter::SendDiscoveryResponse(const Ip6::Address &aDestination, uint16_t aPanId)
+13 -15
View File
@@ -726,8 +726,8 @@ private:
otError RefreshStoredChildren(void);
void HandleDetachStart(void);
otError HandleChildStart(AttachMode aMode);
otError HandleLinkRequest(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo, Neighbor *aNeighbor);
otError HandleLinkAccept(const Message & aMessage,
void HandleLinkRequest(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo, Neighbor *aNeighbor);
void HandleLinkAccept(const Message & aMessage,
const Ip6::MessageInfo &aMessageInfo,
uint32_t aKeySequence,
Neighbor * aNeighbor);
@@ -736,23 +736,21 @@ private:
uint32_t aKeySequence,
Neighbor * aNeighbor,
bool aRequest);
otError HandleLinkAcceptAndRequest(const Message & aMessage,
void HandleLinkAcceptAndRequest(const Message & aMessage,
const Ip6::MessageInfo &aMessageInfo,
uint32_t aKeySequence,
Neighbor * aNeighbor);
otError HandleAdvertisement(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo, Neighbor *);
otError HandleParentRequest(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo);
otError HandleChildIdRequest(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo, uint32_t aKeySequence);
otError HandleChildUpdateRequest(const Message & aMessage,
const Ip6::MessageInfo &aMessageInfo,
uint32_t aKeySequence);
otError HandleChildUpdateResponse(const Message & aMessage,
const Ip6::MessageInfo &aMessageInfo,
uint32_t aKeySequence,
Neighbor * aNeighbor);
otError HandleDataRequest(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo, const Neighbor *aNeighbor);
void HandleNetworkDataUpdateRouter(void);
otError HandleDiscoveryRequest(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo);
void HandleParentRequest(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo);
void HandleChildIdRequest(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo, uint32_t aKeySequence);
void HandleChildUpdateRequest(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo, uint32_t aKeySequence);
void HandleChildUpdateResponse(const Message & aMessage,
const Ip6::MessageInfo &aMessageInfo,
uint32_t aKeySequence,
Neighbor * aNeighbor);
void HandleDataRequest(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo, const Neighbor *aNeighbor);
void HandleNetworkDataUpdateRouter(void);
void HandleDiscoveryRequest(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo);
#if OPENTHREAD_CONFIG_TIME_SYNC_ENABLE
void HandleTimeSync(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo, const Neighbor *aNeighbor);
#endif