From e79a7be77370b6e7cd9c53d4ca01c6ce8c21be5a Mon Sep 17 00:00:00 2001 From: Jonathan Hui Date: Fri, 8 May 2020 18:16:12 -0700 Subject: [PATCH] [icmp] change SendIcmpError() to return void (#4941) --- src/core/net/ip6.cpp | 12 ++++++++---- src/core/net/ip6.hpp | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/core/net/ip6.cpp b/src/core/net/ip6.cpp index 9fbb7ba56..b8fd12ab6 100644 --- a/src/core/net/ip6.cpp +++ b/src/core/net/ip6.cpp @@ -884,7 +884,7 @@ void Ip6::UpdateReassemblyList(void) else { otLogNoteIp6("Reassembly timeout."); - IgnoreError(SendIcmpError(*message, IcmpHeader::kTypeTimeExceeded, IcmpHeader::kCodeFragmReasTimeEx)); + SendIcmpError(*message, IcmpHeader::kTypeTimeExceeded, IcmpHeader::kCodeFragmReasTimeEx); IgnoreError(mReassemblyList.Dequeue(*message)); message->Free(); @@ -892,7 +892,7 @@ void Ip6::UpdateReassemblyList(void) } } -otError Ip6::SendIcmpError(Message &aMessage, IcmpHeader::Type aIcmpType, IcmpHeader::Code aIcmpCode) +void Ip6::SendIcmpError(Message &aMessage, IcmpHeader::Type aIcmpType, IcmpHeader::Code aIcmpCode) { otError error = OT_ERROR_NONE; Header header; @@ -905,10 +905,14 @@ otError Ip6::SendIcmpError(Message &aMessage, IcmpHeader::Type aIcmpType, IcmpHe messageInfo.SetHopLimit(header.GetHopLimit()); messageInfo.SetLinkInfo(NULL); - SuccessOrExit(error = mIcmp.SendError(aIcmpType, aIcmpCode, messageInfo, aMessage)); + error = mIcmp.SendError(aIcmpType, aIcmpCode, messageInfo, aMessage); exit: - return error; + + if (error != OT_ERROR_NONE) + { + otLogWarnIp6("Failed to send ICMP error: %s", otThreadErrorToString(error)); + } } #else diff --git a/src/core/net/ip6.hpp b/src/core/net/ip6.hpp index 05d7aeaee..701ece102 100644 --- a/src/core/net/ip6.hpp +++ b/src/core/net/ip6.hpp @@ -363,7 +363,7 @@ private: void CleanupFragmentationBuffer(void); void HandleUpdateTimer(void); void UpdateReassemblyList(void); - otError SendIcmpError(Message &aMessage, IcmpHeader::Type aIcmpType, IcmpHeader::Code aIcmpCode); + void SendIcmpError(Message &aMessage, IcmpHeader::Type aIcmpType, IcmpHeader::Code aIcmpCode); static void HandleTimer(Timer &aTimer); #endif otError AddMplOption(Message &aMessage, Header &aHeader);