Router/Leader
This module includes functions for Thread Routers and Leaders.
Summary
Enumerations |
|
---|---|
otNeighborTableEvent{
|
enum This enumeration defines the constants used in otNeighborTableCallback to indicate whether a child or router neighbor is being added or removed. |
Typedefs |
|
---|---|
otChildIp6AddressIterator
|
typedefuint16_t
Used to iterate through IPv6 addresses of a Thread Child entry. |
otEidCacheEntry
|
typedefstruct otEidCacheEntry
This structure represents an EID cache entry. |
otNeighborTableCallback)(otNeighborTableEvent aEvent, const otNeighborTableEntryInfo *aEntryInfo)
|
typedefvoid(*
This function pointer is called to notify that a child or router neighbor is being added to or removed from neighbor table. |
Functions |
|
---|---|
otThreadBecomeLeader(otInstance *aInstance)
|
Become a leader and start a new partition.
|
otThreadBecomeRouter(otInstance *aInstance)
|
Attempt to become a router.
|
otThreadGetChildInfoById(otInstance *aInstance, uint16_t aChildId, otChildInfo *aChildInfo)
|
The function retains diagnostic information for an attached Child by its Child ID or RLOC16.
|
otThreadGetChildInfoByIndex(otInstance *aInstance, uint16_t aChildIndex, otChildInfo *aChildInfo)
|
The function retains diagnostic information for an attached Child by the internal table index.
|
otThreadGetChildNextIp6Address(otInstance *aInstance, uint16_t aChildIndex, otChildIp6AddressIterator *aIterator, otIp6Address *aAddress)
|
This function gets the next IPv6 address (using an iterator) for a given child.
|
otThreadGetContextIdReuseDelay(otInstance *aInstance)
|
uint32_t
Get the CONTEXT_ID_REUSE_DELAY parameter used in the Leader role.
|
otThreadGetEidCacheEntry(otInstance *aInstance, uint8_t aIndex, otEidCacheEntry *aEntry)
|
This function gets an EID cache entry.
|
otThreadGetJoinerUdpPort(otInstance *aInstance)
|
uint16_t
Get the Joiner UDP Port.
|
otThreadGetLocalLeaderPartitionId(otInstance *aInstance)
|
uint32_t
Get the Thread Leader Partition Id used when operating in the Leader role.
|
otThreadGetLocalLeaderWeight(otInstance *aInstance)
|
uint8_t
Get the Thread Leader Weight used when operating in the Leader role.
|
otThreadGetMaxAllowedChildren(otInstance *aInstance)
|
uint16_t
Get the maximum number of children currently allowed.
|
otThreadGetMaxRouterId(otInstance *aInstance)
|
uint8_t
The function returns the maximum allowed router ID.
|
otThreadGetNetworkIdTimeout(otInstance *aInstance)
|
uint8_t
Get the NETWORK_ID_TIMEOUT parameter used in the Router role.
|
otThreadGetParentPriority(otInstance *aInstance)
|
int8_t
Get the assigned parent priority.
|
otThreadGetPskc(otInstance *aInstance)
|
const otPskc *
Get the Thread PSKc.
|
otThreadGetRouterDowngradeThreshold(otInstance *aInstance)
|
uint8_t
Get the ROUTER_DOWNGRADE_THRESHOLD parameter used in the Router role.
|
otThreadGetRouterIdSequence(otInstance *aInstance)
|
uint8_t
Get the current Router ID Sequence.
|
otThreadGetRouterInfo(otInstance *aInstance, uint16_t aRouterId, otRouterInfo *aRouterInfo)
|
The function retains diagnostic information for a given Thread Router.
|
otThreadGetRouterSelectionJitter(otInstance *aInstance)
|
uint8_t
Get the ROUTER_SELECTION_JITTER parameter used in the REED/Router role.
|
otThreadGetRouterUpgradeThreshold(otInstance *aInstance)
|
uint8_t
Get the ROUTER_UPGRADE_THRESHOLD parameter used in the REED role.
|
otThreadIsRouterEligible(otInstance *aInstance)
|
bool
This method indicates whether or not the device is router-eligible.
|
otThreadRegisterNeighborTableCallback(otInstance *aInstance, otNeighborTableCallback aCallback)
|
void
This function registers a neighbor table callback function.
|
otThreadReleaseRouterId(otInstance *aInstance, uint8_t aRouterId)
|
Release a Router ID that has been allocated by the device in the Leader role.
|
otThreadSetContextIdReuseDelay(otInstance *aInstance, uint32_t aDelay)
|
void
Set the CONTEXT_ID_REUSE_DELAY parameter used in the Leader role.
|
otThreadSetJoinerUdpPort(otInstance *aInstance, uint16_t aJoinerUdpPort)
|
Set the Joiner UDP Port.
|
otThreadSetLocalLeaderPartitionId(otInstance *aInstance, uint32_t aPartitionId)
|
void
Set the Thread Leader Partition Id used when operating in the Leader role.
|
otThreadSetLocalLeaderWeight(otInstance *aInstance, uint8_t aWeight)
|
void
Set the Thread Leader Weight used when operating in the Leader role.
|
otThreadSetMaxAllowedChildren(otInstance *aInstance, uint16_t aMaxChildren)
|
Set the maximum number of children currently allowed.
|
otThreadSetNetworkIdTimeout(otInstance *aInstance, uint8_t aTimeout)
|
void
Set the NETWORK_ID_TIMEOUT parameter used in the Leader role.
|
otThreadSetParentPriority(otInstance *aInstance, int8_t aParentPriority)
|
Set the parent priority.
|
otThreadSetPreferredRouterId(otInstance *aInstance, uint8_t aRouterId)
|
Set the preferred Router Id.
|
otThreadSetPskc(otInstance *aInstance, const otPskc *aPskc)
|
Set the Thread PSKc.
|
otThreadSetRouterDowngradeThreshold(otInstance *aInstance, uint8_t aThreshold)
|
void
Set the ROUTER_DOWNGRADE_THRESHOLD parameter used in the Leader role.
|
otThreadSetRouterEligible(otInstance *aInstance, bool aEligible)
|
This function sets whether or not the device is router-eligible.
|
otThreadSetRouterSelectionJitter(otInstance *aInstance, uint8_t aRouterJitter)
|
void
Set the ROUTER_SELECTION_JITTER parameter used in the REED/Router role.
|
otThreadSetRouterUpgradeThreshold(otInstance *aInstance, uint8_t aThreshold)
|
void
Set the ROUTER_UPGRADE_THRESHOLD parameter used in the Leader role.
|
otThreadSetSteeringData(otInstance *aInstance, const otExtAddress *aExtAddress)
|
void
Set Steering data out of band.
|
Structs |
|
---|---|
otChildInfo |
This structure holds diagnostic information for a Thread Child. |
otEidCacheEntry |
This structure represents an EID cache entry. |
otNeighborTableEntryInfo |
This type represent a neighbor table entry info (child or router) and is used as a parameter in the neighbor table callback |
Enumerations
otNeighborTableEvent
otNeighborTableEvent
This enumeration defines the constants used in otNeighborTableCallback
to indicate whether a child or router neighbor is being added or removed.
Typedefs
otChildIp6AddressIterator
uint16_t otChildIp6AddressIterator
Used to iterate through IPv6 addresses of a Thread Child entry.
otEidCacheEntry
struct otEidCacheEntry otEidCacheEntry
This structure represents an EID cache entry.
otNeighborTableCallback
void(* otNeighborTableCallback)(otNeighborTableEvent aEvent, const otNeighborTableEntryInfo *aEntryInfo)
This function pointer is called to notify that a child or router neighbor is being added to or removed from neighbor table.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
Functions
otThreadBecomeLeader
otError otThreadBecomeLeader( otInstance *aInstance )
Become a leader and start a new partition.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Return Values |
|
otThreadBecomeRouter
otError otThreadBecomeRouter( otInstance *aInstance )
Attempt to become a router.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Return Values |
|
otThreadGetChildInfoById
otError otThreadGetChildInfoById( otInstance *aInstance, uint16_t aChildId, otChildInfo *aChildInfo )
The function retains diagnostic information for an attached Child by its Child ID or RLOC16.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameters |
|
||||||
Return Values |
|
otThreadGetChildInfoByIndex
otError otThreadGetChildInfoByIndex( otInstance *aInstance, uint16_t aChildIndex, otChildInfo *aChildInfo )
The function retains diagnostic information for an attached Child by the internal table index.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameters |
|
||||||
Return Values |
|
otGetMaxAllowedChildren
otThreadGetChildNextIp6Address
otError otThreadGetChildNextIp6Address( otInstance *aInstance, uint16_t aChildIndex, otChildIp6AddressIterator *aIterator, otIp6Address *aAddress )
This function gets the next IPv6 address (using an iterator) for a given child.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameters |
|
||||||||
Return Values |
|
otThreadGetChildInfoByIndex
otThreadGetContextIdReuseDelay
uint32_t otThreadGetContextIdReuseDelay( otInstance *aInstance )
Get the CONTEXT_ID_REUSE_DELAY parameter used in the Leader role.
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
The CONTEXT_ID_REUSE_DELAY value.
|
otThreadSetContextIdReuseDelay
otThreadGetEidCacheEntry
otError otThreadGetEidCacheEntry( otInstance *aInstance, uint8_t aIndex, otEidCacheEntry *aEntry )
This function gets an EID cache entry.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameters |
|
||||||
Return Values |
|
otThreadGetJoinerUdpPort
uint16_t otThreadGetJoinerUdpPort( otInstance *aInstance )
Get the Joiner UDP Port.
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
The Joiner UDP Port number.
|
otThreadSetJoinerUdpPort
otThreadGetLocalLeaderPartitionId
uint32_t otThreadGetLocalLeaderPartitionId( otInstance *aInstance )
Get the Thread Leader Partition Id used when operating in the Leader role.
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
The Thread Leader Partition Id value.
|
otThreadGetLocalLeaderWeight
uint8_t otThreadGetLocalLeaderWeight( otInstance *aInstance )
Get the Thread Leader Weight used when operating in the Leader role.
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
The Thread Leader Weight value.
|
otThreadSetLeaderWeight
otThreadGetMaxAllowedChildren
uint16_t otThreadGetMaxAllowedChildren( otInstance *aInstance )
Get the maximum number of children currently allowed.
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
The maximum number of children currently allowed.
|
otThreadSetMaxAllowedChildren
otThreadGetMaxRouterId
uint8_t otThreadGetMaxRouterId( otInstance *aInstance )
The function returns the maximum allowed router ID.
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
The maximum allowed router ID.
|
otThreadGetNetworkIdTimeout
uint8_t otThreadGetNetworkIdTimeout( otInstance *aInstance )
Get the NETWORK_ID_TIMEOUT parameter used in the Router role.
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
The NETWORK_ID_TIMEOUT value.
|
otThreadSetNetworkIdTimeout
otThreadGetParentPriority
int8_t otThreadGetParentPriority( otInstance *aInstance )
Get the assigned parent priority.
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
The assigned parent priority value, -2 means not assigned.
|
otThreadSetParentPriority
otThreadGetPskc
const otPskc * otThreadGetPskc( otInstance *aInstance )
Get the Thread PSKc.
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
A pointer to Thread PSKc
|
otThreadSetPskc
otThreadGetRouterDowngradeThreshold
uint8_t otThreadGetRouterDowngradeThreshold( otInstance *aInstance )
Get the ROUTER_DOWNGRADE_THRESHOLD parameter used in the Router role.
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
The ROUTER_DOWNGRADE_THRESHOLD value.
|
otThreadSetRouterDowngradeThreshold
otThreadGetRouterIdSequence
uint8_t otThreadGetRouterIdSequence( otInstance *aInstance )
Get the current Router ID Sequence.
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
The Router ID Sequence.
|
otThreadGetRouterInfo
otError otThreadGetRouterInfo( otInstance *aInstance, uint16_t aRouterId, otRouterInfo *aRouterInfo )
The function retains diagnostic information for a given Thread Router.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameters |
|
||||||
Return Values |
|
otThreadGetRouterSelectionJitter
uint8_t otThreadGetRouterSelectionJitter( otInstance *aInstance )
Get the ROUTER_SELECTION_JITTER parameter used in the REED/Router role.
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
The ROUTER_SELECTION_JITTER value.
|
otThreadSetRouterSelectionJitter
otThreadGetRouterUpgradeThreshold
uint8_t otThreadGetRouterUpgradeThreshold( otInstance *aInstance )
Get the ROUTER_UPGRADE_THRESHOLD parameter used in the REED role.
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
The ROUTER_UPGRADE_THRESHOLD value.
|
otThreadSetRouterUpgradeThreshold
otThreadIsRouterEligible
bool otThreadIsRouterEligible( otInstance *aInstance )
This method indicates whether or not the device is router-eligible.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Return Values |
|
otThreadRegisterNeighborTableCallback
void otThreadRegisterNeighborTableCallback( otInstance *aInstance, otNeighborTableCallback aCallback )
This function registers a neighbor table callback function.
The provided callback (if non-NULL) will be invoked when a child or router neighbor entry is being added/removed to/from the neighbor table. Subsequent calls to this method will overwrite the previous callback. Note that this callback in invoked while the neighbor/child table is being updated and always before the otStateChangedCallback
.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
otThreadReleaseRouterId
otError otThreadReleaseRouterId( otInstance *aInstance, uint8_t aRouterId )
Release a Router ID that has been allocated by the device in the Leader role.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameters |
|
||||||||
Return Values |
|
otThreadSetContextIdReuseDelay
void otThreadSetContextIdReuseDelay( otInstance *aInstance, uint32_t aDelay )
Set the CONTEXT_ID_REUSE_DELAY parameter used in the Leader role.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
otThreadGetContextIdReuseDelay
otThreadSetJoinerUdpPort
otError otThreadSetJoinerUdpPort( otInstance *aInstance, uint16_t aJoinerUdpPort )
Set the Joiner UDP Port.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Return Values |
|
otThreadGetJoinerUdpPort
otThreadSetLocalLeaderPartitionId
void otThreadSetLocalLeaderPartitionId( otInstance *aInstance, uint32_t aPartitionId )
Set the Thread Leader Partition Id used when operating in the Leader role.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
otThreadSetLocalLeaderWeight
void otThreadSetLocalLeaderWeight( otInstance *aInstance, uint8_t aWeight )
Set the Thread Leader Weight used when operating in the Leader role.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
otThreadGetLeaderWeight
otThreadSetMaxAllowedChildren
otError otThreadSetMaxAllowedChildren( otInstance *aInstance, uint16_t aMaxChildren )
Set the maximum number of children currently allowed.
This parameter can only be set when Thread protocol operation has been stopped.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameters |
|
||||||
Return Values |
|
otThreadGetMaxAllowedChildren
otThreadSetNetworkIdTimeout
void otThreadSetNetworkIdTimeout( otInstance *aInstance, uint8_t aTimeout )
Set the NETWORK_ID_TIMEOUT parameter used in the Leader role.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
otThreadGetNetworkIdTimeout
otThreadSetParentPriority
otError otThreadSetParentPriority( otInstance *aInstance, int8_t aParentPriority )
Set the parent priority.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Return Values |
|
otThreadGetParentPriority
otThreadSetPreferredRouterId
otError otThreadSetPreferredRouterId( otInstance *aInstance, uint8_t aRouterId )
Set the preferred Router Id.
Upon becoming a router/leader the node attempts to use this Router Id. If the preferred Router Id is not set or if it can not be used, a randomly generated router id is picked. This property can be set only when the device role is either detached or disabled.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Return Values |
|
otThreadSetPskc
otError otThreadSetPskc( otInstance *aInstance, const otPskc *aPskc )
Set the Thread PSKc.
This function will only succeed when Thread protocols are disabled. A successful call to this function will also invalidate the Active and Pending Operational Datasets in non-volatile memory.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Return Values |
|
otThreadGetPskc
otThreadSetRouterDowngradeThreshold
void otThreadSetRouterDowngradeThreshold( otInstance *aInstance, uint8_t aThreshold )
Set the ROUTER_DOWNGRADE_THRESHOLD parameter used in the Leader role.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
otThreadGetRouterDowngradeThreshold
otThreadSetRouterEligible
otError otThreadSetRouterEligible( otInstance *aInstance, bool aEligible )
This function sets whether or not the device is router-eligible.
If aEligible
is false and the device is currently operating as a router, this call will cause the device to detach and attempt to reattach as a child.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Return Values |
|
otThreadSetRouterSelectionJitter
void otThreadSetRouterSelectionJitter( otInstance *aInstance, uint8_t aRouterJitter )
Set the ROUTER_SELECTION_JITTER parameter used in the REED/Router role.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
otThreadGetRouterSelectionJitter
otThreadSetRouterUpgradeThreshold
void otThreadSetRouterUpgradeThreshold( otInstance *aInstance, uint8_t aThreshold )
Set the ROUTER_UPGRADE_THRESHOLD parameter used in the Leader role.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
otThreadGetRouterUpgradeThreshold
otThreadSetSteeringData
void otThreadSetSteeringData( otInstance *aInstance, const otExtAddress *aExtAddress )
Set Steering data out of band.
Configuration option OPENTHREAD_CONFIG_MLE_STEERING_DATA_SET_OOB_ENABLE
should be set to enable setting of steering data out of band.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
Macros
OT_CHILD_IP6_ADDRESS_ITERATOR_INIT
OT_CHILD_IP6_ADDRESS_ITERATOR_INIT 0
Initializer for otChildIP6AddressIterator.