mirror of
https://github.com/espressif/openthread.git
synced 2026-09-02 07:10:08 +00:00
Clean up access to router state. (#1020)
This commit is contained in:
@@ -3680,6 +3680,7 @@ void MleRouter::HandleAddressSolicitResponse(Coap::Header *aHeader, Message *aMe
|
||||
ThreadRloc16Tlv rlocTlv;
|
||||
ThreadRouterMaskTlv routerMaskTlv;
|
||||
uint8_t routerId;
|
||||
Router *router;
|
||||
bool old;
|
||||
|
||||
VerifyOrExit(result == kThreadError_None && aHeader != NULL && aMessage != NULL, ;);
|
||||
@@ -3708,7 +3709,9 @@ void MleRouter::HandleAddressSolicitResponse(Coap::Header *aHeader, Message *aMe
|
||||
|
||||
SuccessOrExit(ThreadTlv::GetTlv(*aMessage, ThreadTlv::kRloc16, sizeof(rlocTlv), rlocTlv));
|
||||
VerifyOrExit(rlocTlv.IsValid(), ;);
|
||||
VerifyOrExit(IsRouterIdValid(routerId = GetRouterId(rlocTlv.GetRloc16())), ;);
|
||||
routerId = GetRouterId(rlocTlv.GetRloc16());
|
||||
router = GetRouter(routerId);
|
||||
VerifyOrExit(router != NULL,);
|
||||
|
||||
SuccessOrExit(ThreadTlv::GetTlv(*aMessage, ThreadTlv::kRouterMask, sizeof(routerMaskTlv), routerMaskTlv));
|
||||
VerifyOrExit(routerMaskTlv.IsValid(), ;);
|
||||
@@ -3728,7 +3731,7 @@ void MleRouter::HandleAddressSolicitResponse(Coap::Header *aHeader, Message *aMe
|
||||
|
||||
SuccessOrExit(SetStateRouter(GetRloc16(mRouterId)));
|
||||
|
||||
mRouters[mRouterId].mCost = 0;
|
||||
router->mCost = 0;
|
||||
|
||||
// copy router id information
|
||||
mRouterIdSequence = routerMaskTlv.GetIdSequence();
|
||||
|
||||
Reference in New Issue
Block a user