Clear()
Clears the router table.
ClearNeighbors()
Removes all neighbor links to routers.
Allocate()
Allocates a router with a random Router ID.
Allocate()
Allocates a router with a random Router ID.
Release()
Releases a Router ID.
RemoveRouterLink()
Removes a router link.
GetActiveRouterCount() const
Returns the number of active routers in the Thread network.
GetLeader()
Returns the leader in the Thread network.
GetLeader() const
Returns the leader in the Thread network.
GetLeaderAge() const
Returns the leader's age in seconds, i.e., seconds since the last Router ID Sequence update.
GetLinkCost() const
Returns the link cost for a neighboring router.
GetLinkCost() const
Returns the link cost for a neighboring router.
GetPathCost() const
Returns the minimum mesh path cost to the given RLOC16.
GetPathCostToLeader() const
Returns the mesh path cost to leader.
GetNextHop() const
Determines the next hop towards an RLOC16 destination.
GetNextHopAndPathCost() const
Determines the next hop and the path cost towards an RLOC16 destination.
FindRouterById()
Finds the router for a given Router ID.
FindRouterById() const
Finds the router for a given Router ID.
FindRouterByRloc16()
Finds the router for a given RLOC16.
FindRouterByRloc16() const
Finds the router for a given RLOC16.
FindNextHopOf()
Finds the router that is the next hop of a given router.
FindNextHopOf() const
Finds the router that is the next hop of a given router.
FindRouter()
Find the router for a given MAC Extended Address.
Contains() const
Indicates whether the router table contains a given `Neighbor` instance.
GetRouterInfo()
Retains diagnostic information for a given router.
GetRouterIdSequence() const
Returns the Router ID Sequence.
GetRouterIdSequenceLastUpdated() const
Returns the local time when the Router ID Sequence was last updated.
IsRouteTlvIdSequenceMoreRecent() const
Determines whether the Router ID Sequence in a received Route TLV is more recent than the current Router ID Sequence being used by `RouterTable`.
GetNeighborCount() const
Gets the number of router neighbors with `GetLinkQualityIn()` better than or equal to a given threshold.
IsAllocated() const
Indicates whether or not a Router ID is allocated.
UpdateRouterIdSet()
Updates the Router ID allocation set.
UpdateRoutes()
Updates the routes based on a received `RouteTlv` from a neighboring router.
UpdateRouterOnFtdChild()
Updates the routes on an FTD child based on a received `RouteTlv` from the parent. MUST be called when device is an FTD child and @p aRouteTlv is received from its current parent.
GetRouterIdSet() const
Gets the allocated Router ID set.
FillRouteTlv() const
Fills a Route TLV. When @p aNeighbor is not `nullptr`, we limit the number of router entries to `kMaxRoutersInRouteTlvForLinkAccept` when populating `aRouteTlv`, so that the TLV can be appended in a Link Accept message. In this case, we ensure to include router entries associated with @p aNeighbor, leader, and this device itself.
HandleTimeTick()
Updates the router table and must be called with a one second period.
GetRouterIdRange() const
Gets the range of Router IDs. All the Router IDs in the range `[aMinRouterId, aMaxRouterId]` are allowed. This is intended for testing only.
SetRouterIdRange()
Sets the range of Router IDs. All the Router IDs in the range `[aMinRouterId, aMaxRouterId]` are allowed. This is intended for testing only.
begin()
end()
begin() const
end() const
AddRouter()
RemoveRouter()
FindNeighbor()
FindNeighbor()
FindNeighbor()
FindRouter() const
FindRouter()
Find the router for a given MAC Extended Address.
SignalTableChanged()
HandleTableChanged()
LogRouteTable() const