![]()
![]()
#define MLE_ROUTER_HPP_
![]()
![]()
#include "openthread-core-config.h"
![]()
![]()
#include <openthread/thread_ftd.h>
![]()
![]()
#include "coap/coap_message.hpp"
![]()
![]()
#include "common/callback.hpp"
![]()
![]()
#include "common/time_ticker.hpp"
![]()
![]()
#include "common/timer.hpp"
![]()
![]()
#include "common/trickle_timer.hpp"
![]()
![]()
#include "mac/mac_types.hpp"
![]()
![]()
#include "meshcop/meshcop_tlvs.hpp"
![]()
![]()
#include "net/icmp6.hpp"
![]()
![]()
#include "net/udp6.hpp"
![]()
![]()
#include "thread/child.hpp"
![]()
![]()
#include "thread/child_table.hpp"
![]()
![]()
#include "thread/mle.hpp"
![]()
![]()
#include "thread/mle_tlvs.hpp"
![]()
![]()
#include "thread/router.hpp"
![]()
![]()
#include "thread/router_table.hpp"
![]()
![]()
#include "thread/thread_tlvs.hpp"
![]()
![]()
#include "thread/tmf.hpp"
![]()
![]()
ot
![]()
![]()
Mle
![]()
![]()
MleRouter
![]()
![]()
public:
![]()
![]()
MleRouter(Instance &)
![]()
![]()
IsRouterEligible() const
![]()
![]()
SetRouterEligible(bool)
![]()
![]()
IsSingleton() const
![]()
![]()
BecomeRouter(ThreadStatusTlv::Status)
![]()
![]()
BecomeLeader(bool)
![]()
![]()
GetDeviceProperties() const
![]()
![]()
SetDeviceProperties(const DeviceProperties &)
![]()
![]()
GetLeaderWeight() const
![]()
![]()
SetLeaderWeight(uint8_t)
![]()
![]()
GetPreferredLeaderPartitionId() const
![]()
![]()
SetPreferredLeaderPartitionId(uint32_t)
![]()
![]()
SetPreferredRouterId(uint8_t)
![]()
![]()
GetPreviousPartitionId() const
![]()
![]()
SetPreviousPartitionId(uint32_t)
![]()
![]()
SetRouterId(uint8_t)
![]()
![]()
GetNetworkIdTimeout() const
![]()
![]()
SetNetworkIdTimeout(uint8_t)
![]()
![]()
GetRouterSelectionJitter() const
![]()
![]()
SetRouterSelectionJitter(uint8_t)
![]()
![]()
IsRouterRoleTransitionPending() const
![]()
![]()
GetRouterRoleTransitionTimeout() const
![]()
![]()
GetRouterUpgradeThreshold() const
![]()
![]()
SetRouterUpgradeThreshold(uint8_t)
![]()
![]()
GetRouterDowngradeThreshold() const
![]()
![]()
SetRouterDowngradeThreshold(uint8_t)
![]()
![]()
GetChildRouterLinks() const
![]()
![]()
SetChildRouterLinks(uint8_t)
![]()
![]()
IsExpectedToBecomeRouterSoon() const
![]()
![]()
RemoveNeighbor(Neighbor &)
![]()
![]()
RemoveRouterLink(Router &)
![]()
![]()
ComparePartitions(bool, const LeaderData &, bool, const LeaderData &)
![]()
![]()
FillConnectivityTlv(ConnectivityTlv &)
![]()
![]()
SendChildUpdateRequest()
![]()
![]()
SendLinkRequest(Neighbor *)
![]()
![]()
GetAssignParentPriority() const
![]()
![]()
SetAssignParentPriority(int8_t)
![]()
![]()
GetMaxChildTimeout(uint32_t &) const
![]()
![]()
SetDiscoveryRequestCallback(otThreadDiscoveryRequestCallback, void *)
![]()
![]()
ResetAdvertiseInterval()
![]()
![]()
UpdateAdvertiseInterval()
![]()
![]()
GetMaxChildIpAddresses() const
![]()
![]()
SetMaxChildIpAddresses(uint8_t)
![]()
![]()
SetCcmEnabled(bool)
![]()
![]()
SetThreadVersionCheckEnabled(bool)
![]()
![]()
GetAdvertisementTrickleIntervalMax() const
![]()
![]()
private:
![]()
![]()
kAdvIntervalMin
![]()
![]()
kAdvIntervalNeighborMultiplier
![]()
![]()
kAdvIntervalMaxLowerBound
![]()
![]()
kAdvIntervalMaxUpperBound
![]()
![]()
kReedAdvIntervalMin
![]()
![]()
kReedAdvIntervalMax
![]()
![]()
kMaxNeighborAge
![]()
![]()
kMaxLeaderToRouterTimeout
![]()
![]()
kMinDowngradeNeighbors
![]()
![]()
kNetworkIdTimeout
![]()
![]()
kRouterSelectionJitter
![]()
![]()
kRouterDowngradeThreshold
![]()
![]()
kRouterUpgradeThreshold
![]()
![]()
kDiscoveryMaxJitter
![]()
![]()
kUnsolicitedDataResponseJitter
![]()
![]()
kLeaderDowngradeExtraDelay
![]()
![]()
kDefaultLeaderWeight
![]()
![]()
kRouterUpgradeBorderRouterRequestThreshold
![]()
![]()
kLinkRequestMinMargin
![]()
![]()
kPartitionMergeMinMargin
![]()
![]()
kChildRouterLinks
![]()
![]()
kMaxChildIpAddresses
![]()
![]()
kMinCriticalChildrenCount
![]()
![]()
kChildSupervisionDefaultIntervalForOlderVersion
![]()
![]()
kParentPriorityHigh
![]()
![]()
kParentPriorityMedium
![]()
![]()
kParentPriorityLow
![]()
![]()
kParentPriorityUnspecified
![]()
![]()
RouterRoleTransition
![]()
![]()
public:
![]()
![]()
RouterRoleTransition()
![]()
![]()
IsPending() const
![]()
![]()
StartTimeout()
![]()
![]()
StopTimeout()
![]()
![]()
IncreaseTimeout(uint8_t)
![]()
![]()
GetTimeout() const
![]()
![]()
HandleTimeTick()
![]()
![]()
GetJitter() const
![]()
![]()
SetJitter(uint8_t)
![]()
![]()
private:
![]()
![]()
mTimeout
![]()
![]()
mJitter
![]()
![]()
RouterRoleRestorer
![]()
![]()
public:
![]()
![]()
RouterRoleRestorer(Instance &)
![]()
![]()
IsActive() const
![]()
![]()
Start(DeviceRole)
![]()
![]()
Stop()
![]()
![]()
HandleTimer()
![]()
![]()
GenerateRandomChallenge()
![]()
![]()
GetChallenge() const
![]()
![]()
private:
![]()
![]()
SendMulticastLinkRequest()
![]()
![]()
mAttempts
![]()
![]()
mChallenge
![]()
![]()
HandleDetachStart()
![]()
![]()
HandleChildStart(AttachMode)
![]()
![]()
HandleSecurityPolicyChanged()
![]()
![]()
HandleLinkRequest(RxInfo &)
![]()
![]()
HandleLinkAccept(RxInfo &)
![]()
![]()
HandleLinkAccept(RxInfo &, bool)
![]()
![]()
HandleLinkAcceptAndRequest(RxInfo &)
![]()
![]()
HandleAdvertisementOnFtd(RxInfo &, uint16_t, const LeaderData &)
![]()
![]()
HandleParentRequest(RxInfo &)
![]()
![]()
HandleChildIdRequest(RxInfo &)
![]()
![]()
HandleChildUpdateRequestOnParent(RxInfo &)
![]()
![]()
HandleChildUpdateResponseOnParent(RxInfo &)
![]()
![]()
HandleDataRequest(RxInfo &)
![]()
![]()
HandleNetworkDataUpdateRouter()
![]()
![]()
HandleDiscoveryRequest(RxInfo &)
![]()
![]()
ProcessRouteTlv(const RouteTlv &, RxInfo &)
![]()
![]()
ReadAndProcessRouteTlvOnFtdChild(RxInfo &, uint8_t)
![]()
![]()
StopAdvertiseTrickleTimer()
![]()
![]()
DetermineAdvertiseIntervalMax() const
![]()
![]()
SendAddressSolicit(ThreadStatusTlv::Status)
![]()
![]()
SendAddressSolicitResponse(const Coap::Message &, ThreadStatusTlv::Status, const Router *, const Ip6::MessageInfo &)
![]()
![]()
SendAddressRelease()
![]()
![]()
SendAdvertisement()
![]()
![]()
SendLinkAccept(const RxInfo &, Neighbor *, const TlvList &, const RxChallenge &)
![]()
![]()
SendParentResponse(Child &, const RxChallenge &, bool)
![]()
![]()
SendChildIdResponse(Child &)
![]()
![]()
SendChildUpdateRequest(Child &)
![]()
![]()
SendChildUpdateResponse(Child *, const Ip6::MessageInfo &, const TlvList &, const RxChallenge &)
![]()
![]()
SendDataResponse(const Ip6::Address &, const TlvList &, uint16_t, const Message *)
![]()
![]()
SendDiscoveryResponse(const Ip6::Address &, const Message &)
![]()
![]()
SetStateRouter(uint16_t)
![]()
![]()
SetStateLeader(uint16_t, LeaderStartMode)
![]()
![]()
SetStateRouterOrLeader(DeviceRole, uint16_t, LeaderStartMode)
![]()
![]()
StopLeader()
![]()
![]()
SynchronizeChildNetworkData()
![]()
![]()
ProcessAddressRegistrationTlv(RxInfo &, Child &)
![]()
![]()
HasNeighborWithGoodLinkQuality() const
![]()
![]()
HandlePartitionChange()
![]()
![]()
SetChildStateToValid(Child &)
![]()
![]()
HasChildren()
![]()
![]()
RemoveChildren()
![]()
![]()
ShouldDowngrade(uint8_t, const RouteTlv &) const
![]()
![]()
NeighborHasComparableConnectivity(const RouteTlv &, uint8_t) const
![]()
![]()
HandleAdvertiseTrickleTimer()
![]()
![]()
HandleAddressSolicitResponse(Coap::Message *, const Ip6::MessageInfo *, Error)
![]()
![]()
HandleTimeTick()
![]()
![]()
HandleTmf(Coap::Message &, const Ip6::MessageInfo &)
![]()
![]()
SignalDuaAddressEvent(const Child &, const Ip6::Address &) const
![]()
![]()
IsMessageMleSubType(const Message &)
![]()
![]()
IsMessageChildUpdateRequest(const Message &)
![]()
![]()
HandleAdvertiseTrickleTimer(TrickleTimer &)
![]()
![]()
HandleAddressSolicitResponse(void *, otMessage *, const otMessageInfo *, Error)
![]()
![]()
mRouterEligible
![]()
![]()
mAddressSolicitPending
![]()
![]()
mAddressSolicitRejected
![]()
![]()
mCcmEnabled
![]()
![]()
mThreadVersionCheckEnabled
![]()
![]()
mRouterId
![]()
![]()
mPreviousRouterId
![]()
![]()
mNetworkIdTimeout
![]()
![]()
mRouterUpgradeThreshold
![]()
![]()
mRouterDowngradeThreshold
![]()
![]()
mLeaderWeight
![]()
![]()
mPreviousPartitionRouterIdSequence
![]()
![]()
mPreviousPartitionIdTimeout
![]()
![]()
mChildRouterLinks
![]()
![]()
mMaxChildIpAddresses
![]()
![]()
mParentPriority
![]()
![]()
mNextChildId
![]()
![]()
mPreviousPartitionIdRouter
![]()
![]()
mPreviousPartitionId
![]()
![]()
mPreferredLeaderPartitionId
![]()
![]()
mAdvertiseTrickleTimer
![]()
![]()
mChildTable
![]()
![]()
mRouterTable
![]()
![]()
mRouterRoleRestorer
![]()
![]()
mRouterRoleTransition
![]()
![]()
mLeaderAloc
![]()
![]()
mDeviceProperties
![]()
![]()
mDiscoveryRequestCallback
![]()
![]()
MleRouter::HandleTmf(Coap::Message &, const Ip6::MessageInfo &)
![]()
![]()
MleRouter::HandleTmf(Coap::Message &, const Ip6::MessageInfo &)