Exemplo n.º 1
0
otError ThreadNetif::Down(void)
{
    VerifyOrExit(mIsUp);

#if OPENTHREAD_ENABLE_DTLS
    mDtls.Stop();
#endif
#if OPENTHREAD_ENABLE_DNS_CLIENT
    mDnsClient.Stop();
#endif
#if OPENTHREAD_ENABLE_SNTP_CLIENT
    mSntpClient.Stop();
#endif
    mCoap.Stop();
    mMleRouter.Disable();
    RemoveAllExternalUnicastAddresses();
    UnsubscribeAllExternalMulticastAddresses();
    UnsubscribeAllRoutersMulticast();
    UnsubscribeAllNodesMulticast();

    mIsUp = false;
    GetIp6().RemoveNetif(*this);
    mMeshForwarder.Stop();
#if OPENTHREAD_ENABLE_CHANNEL_MONITOR
    GetInstance().GetChannelMonitor().Stop();
#endif
    GetNotifier().Signal(OT_CHANGED_THREAD_NETIF_STATE);

exit:
    return OT_ERROR_NONE;
}
Exemplo n.º 2
0
otError ThreadNetif::Down(void)
{
    mCoap.Stop();
#if OPENTHREAD_ENABLE_DNS_CLIENT
    mDnsClient.Stop();
#endif
#if OPENTHREAD_ENABLE_CHANNEL_MONITOR
    GetInstance().GetChannelMonitor().Stop();
#endif
    mMleRouter.Disable();
    mMeshForwarder.Stop();
    GetIp6().RemoveNetif(*this);
    RemoveAllExternalUnicastAddresses();
    UnsubscribeAllExternalMulticastAddresses();
    mIsUp = false;

#if OPENTHREAD_ENABLE_DTLS
    mDtls.Stop();
#endif

    return OT_ERROR_NONE;
}