diff --git a/src/core/net/icmp6.cpp b/src/core/net/icmp6.cpp index 0b77cb06b..c40aae908 100644 --- a/src/core/net/icmp6.cpp +++ b/src/core/net/icmp6.cpp @@ -204,7 +204,9 @@ otError Icmp::HandleEchoRequest(Message &aRequestMessage, const MessageInfo &aMe MessageInfo replyMessageInfo; uint16_t payloadLength; - VerifyOrExit(ShouldHandleEchoRequest(aMessageInfo)); + // always handle Echo Request destined for RLOC or ALOC + VerifyOrExit(ShouldHandleEchoRequest(aMessageInfo) || aMessageInfo.GetSockAddr().IsRoutingLocator() || + aMessageInfo.GetSockAddr().IsAnycastRoutingLocator()); otLogInfoIcmp(GetInstance(), "Received Echo Request");