From 3564bae6d2d2f7deb82e98c2fe24c009ef748585 Mon Sep 17 00:00:00 2001 From: Jonathan Hui Date: Tue, 10 Oct 2017 08:40:07 -0700 Subject: [PATCH] [mle] only handle MLE attach messages when router role is enabled (#2252) --- src/core/thread/mle_router.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/core/thread/mle_router.cpp b/src/core/thread/mle_router.cpp index d091178bf..50cace62e 100644 --- a/src/core/thread/mle_router.cpp +++ b/src/core/thread/mle_router.cpp @@ -1687,6 +1687,8 @@ otError MleRouter::HandleParentRequest(const Message &aMessage, const Ip6::Messa LogMleMessage("Receive Parent Request", aMessageInfo.GetPeerAddr()); + VerifyOrExit(IsRouterRoleEnabled(), error = OT_ERROR_INVALID_STATE); + // A Router MUST NOT send an MLE Parent Response if: // 1. It has no available Child capacity (if Max Child Count minus @@ -2133,6 +2135,8 @@ otError MleRouter::HandleChildIdRequest(const Message &aMessage, const Ip6::Mess LogMleMessage("Receive Child ID Request", aMessageInfo.GetPeerAddr()); + VerifyOrExit(IsRouterRoleEnabled(), error = OT_ERROR_INVALID_STATE); + // only process message when operating as a child, router, or leader VerifyOrExit(mRole >= OT_DEVICE_ROLE_CHILD, error = OT_ERROR_INVALID_STATE);