This module includes functions for Thread Routers and Leaders.
More...
|
uint16_t | otThreadGetMaxAllowedChildren (otInstance *aInstance) |
|
otError | otThreadSetMaxAllowedChildren (otInstance *aInstance, uint16_t aMaxChildren) |
|
bool | otThreadIsRouterEligible (otInstance *aInstance) |
|
otError | otThreadSetRouterEligible (otInstance *aInstance, bool aEligible) |
|
otError | otThreadSetPreferredRouterId (otInstance *aInstance, uint8_t aRouterId) |
|
uint8_t | otThreadGetLocalLeaderWeight (otInstance *aInstance) |
|
void | otThreadSetLocalLeaderWeight (otInstance *aInstance, uint8_t aWeight) |
|
uint32_t | otThreadGetLocalLeaderPartitionId (otInstance *aInstance) |
|
void | otThreadSetLocalLeaderPartitionId (otInstance *aInstance, uint32_t aPartitionId) |
|
uint16_t | otThreadGetJoinerUdpPort (otInstance *aInstance) |
|
otError | otThreadSetJoinerUdpPort (otInstance *aInstance, uint16_t aJoinerUdpPort) |
|
void | otThreadSetSteeringData (otInstance *aInstance, const otExtAddress *aExtAddress) |
|
uint32_t | otThreadGetContextIdReuseDelay (otInstance *aInstance) |
|
void | otThreadSetContextIdReuseDelay (otInstance *aInstance, uint32_t aDelay) |
|
uint8_t | otThreadGetNetworkIdTimeout (otInstance *aInstance) |
|
void | otThreadSetNetworkIdTimeout (otInstance *aInstance, uint8_t aTimeout) |
|
uint8_t | otThreadGetRouterUpgradeThreshold (otInstance *aInstance) |
|
void | otThreadSetRouterUpgradeThreshold (otInstance *aInstance, uint8_t aThreshold) |
|
otError | otThreadReleaseRouterId (otInstance *aInstance, uint8_t aRouterId) |
|
otError | otThreadBecomeRouter (otInstance *aInstance) |
|
otError | otThreadBecomeLeader (otInstance *aInstance) |
|
uint8_t | otThreadGetRouterDowngradeThreshold (otInstance *aInstance) |
|
void | otThreadSetRouterDowngradeThreshold (otInstance *aInstance, uint8_t aThreshold) |
|
uint8_t | otThreadGetRouterSelectionJitter (otInstance *aInstance) |
|
void | otThreadSetRouterSelectionJitter (otInstance *aInstance, uint8_t aRouterJitter) |
|
otError | otThreadGetChildInfoById (otInstance *aInstance, uint16_t aChildId, otChildInfo *aChildInfo) |
|
otError | otThreadGetChildInfoByIndex (otInstance *aInstance, uint16_t aChildIndex, otChildInfo *aChildInfo) |
|
otError | otThreadGetChildNextIp6Address (otInstance *aInstance, uint16_t aChildIndex, otChildIp6AddressIterator *aIterator, otIp6Address *aAddress) |
|
uint8_t | otThreadGetRouterIdSequence (otInstance *aInstance) |
|
uint8_t | otThreadGetMaxRouterId (otInstance *aInstance) |
|
otError | otThreadGetRouterInfo (otInstance *aInstance, uint16_t aRouterId, otRouterInfo *aRouterInfo) |
|
otError | otThreadGetNextCacheEntry (otInstance *aInstance, otCacheEntryInfo *aEntryInfo, otCacheEntryIterator *aIterator) |
|
const otPskc * | otThreadGetPskc (otInstance *aInstance) |
|
otError | otThreadSetPskc (otInstance *aInstance, const otPskc *aPskc) |
|
int8_t | otThreadGetParentPriority (otInstance *aInstance) |
|
otError | otThreadSetParentPriority (otInstance *aInstance, int8_t aParentPriority) |
|
uint8_t | otThreadGetMaxChildIpAddresses (otInstance *aInstance) |
|
otError | otThreadSetMaxChildIpAddresses (otInstance *aInstance, uint8_t aMaxIpAddresses) |
|
void | otThreadRegisterNeighborTableCallback (otInstance *aInstance, otNeighborTableCallback aCallback) |
|
This module includes functions for Thread Routers and Leaders.
This structure represents an EID cache entry.
This type represents an iterator used for iterating through the EID cache table entries.
To initialize the iterator and start from the first entry in the cache table, set all its fields in the structure to zero (e.g., memset
the iterator to zero).
This enumeration defines the EID cache entry state.
This function pointer is called to notify that a child or router neighbor is being added to or removed from neighbor table.
- Parameters
-
[in] | aEvent | A event flag. |
[in] | aEntryInfo | A pointer to table entry info. |
This enumeration defines the EID cache entry state.
This enumeration defines the constants used in otNeighborTableCallback
to indicate whether a child or router neighbor is being added or removed.
Enumerator |
---|
OT_NEIGHBOR_TABLE_EVENT_CHILD_ADDED |
A child is being added.
|
OT_NEIGHBOR_TABLE_EVENT_CHILD_REMOVED |
A child is being removed.
|
OT_NEIGHBOR_TABLE_EVENT_ROUTER_ADDED |
A router is being added.
|
OT_NEIGHBOR_TABLE_EVENT_ROUTER_REMOVED |
A router is being removed.
|
Become a leader and start a new partition.
- Note
- This API is reserved for testing and demo purposes only. Changing settings with this API will render a production application non-compliant with the Thread Specification.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
- Return values
-
OT_ERROR_NONE | Successfully became a leader and started a new partition. |
OT_ERROR_INVALID_STATE | Thread is disabled. |
Attempt to become a router.
- Note
- This API is reserved for testing and demo purposes only. Changing settings with this API will render a production application non-compliant with the Thread Specification.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
- Return values
-
OT_ERROR_NONE | Successfully begin attempt to become a router. |
OT_ERROR_INVALID_STATE | Thread is disabled. |
The function retains diagnostic information for an attached Child by its Child ID or RLOC16.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
[in] | aChildId | The Child ID or RLOC16 for the attached child. |
[out] | aChildInfo | A pointer to where the child information is placed. |
- Return values
-
OT_ERROR_NONE | aChildInfo was successfully updated with the info for the given ID. |
OT_ERROR_NOT_FOUND | No valid child with this Child ID. |
OT_ERROR_INVALID_ARGS | If aChildInfo is NULL. |
The function retains diagnostic information for an attached Child by the internal table index.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
[in] | aChildIndex | The table index. |
[out] | aChildInfo | A pointer to where the child information is placed. |
- Return values
-
OT_ERROR_NONE | aChildInfo was successfully updated with the info for the given index. |
OT_ERROR_NOT_FOUND | No valid child at this index. |
OT_ERROR_INVALID_ARGS | Either aChildInfo is NULL, or aChildIndex is out of range (higher than max table index). |
- See also
- otGetMaxAllowedChildren
This function gets the next IPv6 address (using an iterator) for a given child.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
[in] | aChildIndex | The child index. |
[in,out] | aIterator | A pointer to the iterator. On success the iterator will be updated to point to next entry in the list. To get the first IPv6 address the iterator should be set to OT_CHILD_IP6_ADDRESS_ITERATOR_INIT. |
[out] | aAddress | A pointer to an IPv6 address where the child's next address is placed (on success). |
- Return values
-
OT_ERROR_NONE | Successfully found the next IPv6 address (aAddress was successfully updated). |
OT_ERROR_NOT_FOUND | The child has no subsequent IPv6 address entry. |
OT_ERROR_INVALID_ARGS | aIterator or aAddress are NULL, or child at aChildIndex is not valid. |
- See also
- otThreadGetChildInfoByIndex
uint32_t otThreadGetContextIdReuseDelay |
( |
otInstance * |
aInstance | ) |
|
Get the CONTEXT_ID_REUSE_DELAY parameter used in the Leader role.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
- Returns
- The CONTEXT_ID_REUSE_DELAY value.
- See also
- otThreadSetContextIdReuseDelay
uint16_t otThreadGetJoinerUdpPort |
( |
otInstance * |
aInstance | ) |
|
Get the Joiner UDP Port.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
- Returns
- The Joiner UDP Port number.
- See also
- otThreadSetJoinerUdpPort
uint32_t otThreadGetLocalLeaderPartitionId |
( |
otInstance * |
aInstance | ) |
|
Get the Thread Leader Partition Id used when operating in the Leader role.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
- Returns
- The Thread Leader Partition Id value.
uint8_t otThreadGetLocalLeaderWeight |
( |
otInstance * |
aInstance | ) |
|
Get the Thread Leader Weight used when operating in the Leader role.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
- Returns
- The Thread Leader Weight value.
- See also
- otThreadSetLeaderWeight
uint16_t otThreadGetMaxAllowedChildren |
( |
otInstance * |
aInstance | ) |
|
Get the maximum number of children currently allowed.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
- Returns
- The maximum number of children currently allowed.
- See also
- otThreadSetMaxAllowedChildren
uint8_t otThreadGetMaxChildIpAddresses |
( |
otInstance * |
aInstance | ) |
|
This function gets the maximum number of IP addresses that each MTD child may register with this device as parent.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
- Returns
- The maximum number of IP addresses that each MTD child may register with this device as parent.
- See also
- otThreadSetMaxChildIpAddresses
uint8_t otThreadGetMaxRouterId |
( |
otInstance * |
aInstance | ) |
|
The function returns the maximum allowed router ID
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
- Returns
- The maximum allowed router ID.
uint8_t otThreadGetNetworkIdTimeout |
( |
otInstance * |
aInstance | ) |
|
Get the NETWORK_ID_TIMEOUT parameter used in the Router role.
- Note
- This API is reserved for testing and demo purposes only. Changing settings with this API will render a production application non-compliant with the Thread Specification.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
- Returns
- The NETWORK_ID_TIMEOUT value.
- See also
- otThreadSetNetworkIdTimeout
This function gets the next EID cache entry (using an iterator).
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
[out] | aEntryInfo | A pointer to where the EID cache entry information is placed. |
[in,out] | aIterator | A pointer to an iterator. It will be updated to point to next entry on success. To get the first entry, initialize the iterator by setting all its fields to zero (e.g., memset the the iterator structure to zero). |
- Return values
-
OT_ERROR_NONE | Successfully populated aEntryInfo for next EID cache entry. |
OT_ERROR_NOT_FOUND | No more entries in the address cache table. |
int8_t otThreadGetParentPriority |
( |
otInstance * |
aInstance | ) |
|
Get the assigned parent priority.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
- Returns
- The assigned parent priority value, -2 means not assigned.
- See also
- otThreadSetParentPriority
Get the Thread PSKc
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
- Returns
- A pointer to Thread PSKc
- See also
- otThreadSetPskc
uint8_t otThreadGetRouterDowngradeThreshold |
( |
otInstance * |
aInstance | ) |
|
Get the ROUTER_DOWNGRADE_THRESHOLD parameter used in the Router role.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
- Returns
- The ROUTER_DOWNGRADE_THRESHOLD value.
- See also
- otThreadSetRouterDowngradeThreshold
uint8_t otThreadGetRouterIdSequence |
( |
otInstance * |
aInstance | ) |
|
Get the current Router ID Sequence.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
- Returns
- The Router ID Sequence.
The function retains diagnostic information for a given Thread Router.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
[in] | aRouterId | The router ID or RLOC16 for a given router. |
[out] | aRouterInfo | A pointer to where the router information is placed. |
- Return values
-
OT_ERROR_NONE | Successfully retrieved the router info for given id. |
OT_ERROR_NOT_FOUND | No router entry with the given id. |
OT_ERROR_INVALID_ARGS | aRouterInfo is NULL. |
uint8_t otThreadGetRouterSelectionJitter |
( |
otInstance * |
aInstance | ) |
|
Get the ROUTER_SELECTION_JITTER parameter used in the REED/Router role.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
- Returns
- The ROUTER_SELECTION_JITTER value.
- See also
- otThreadSetRouterSelectionJitter
uint8_t otThreadGetRouterUpgradeThreshold |
( |
otInstance * |
aInstance | ) |
|
Get the ROUTER_UPGRADE_THRESHOLD parameter used in the REED role.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
- Returns
- The ROUTER_UPGRADE_THRESHOLD value.
- See also
- otThreadSetRouterUpgradeThreshold
bool otThreadIsRouterEligible |
( |
otInstance * |
aInstance | ) |
|
This method indicates whether or not the device is router-eligible.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
- Return values
-
TRUE | If device is router-eligible. |
FALSE | If device is not router-eligible. |
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
.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
[in] | aCallback | A pointer to callback handler function. |
Release a Router ID that has been allocated by the device in the Leader role.
- Note
- This API is reserved for testing and demo purposes only. Changing settings with this API will render a production application non-compliant with the Thread Specification.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
[in] | aRouterId | The Router ID to release. Valid range is [0, 62]. |
- Return values
-
OT_ERROR_NONE | Successfully released the router id. |
OT_ERROR_INVALID_ARGS | aRouterId is not in the range [0, 62]. |
OT_ERROR_INVALID_STATE | The device is not currently operating as a leader. |
OT_ERROR_NOT_FOUND | The router id is not currently allocated. |
void otThreadSetContextIdReuseDelay |
( |
otInstance * |
aInstance, |
|
|
uint32_t |
aDelay |
|
) |
| |
Set the CONTEXT_ID_REUSE_DELAY parameter used in the Leader role.
- Note
- This API is reserved for testing and demo purposes only. Changing settings with this API will render a production application non-compliant with the Thread Specification.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
[in] | aDelay | The CONTEXT_ID_REUSE_DELAY value. |
- See also
- otThreadGetContextIdReuseDelay
Set the Joiner UDP Port.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
[in] | aJoinerUdpPort | The Joiner UDP Port number. |
- Return values
-
OT_ERROR_NONE | Successfully set the Joiner UDP Port. |
- See also
- otThreadGetJoinerUdpPort
void otThreadSetLocalLeaderPartitionId |
( |
otInstance * |
aInstance, |
|
|
uint32_t |
aPartitionId |
|
) |
| |
Set the Thread Leader Partition Id used when operating in the Leader role.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
[in] | aPartitionId | The Thread Leader Partition Id value. |
void otThreadSetLocalLeaderWeight |
( |
otInstance * |
aInstance, |
|
|
uint8_t |
aWeight |
|
) |
| |
Set the Thread Leader Weight used when operating in the Leader role.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
[in] | aWeight | The Thread Leader Weight value. |
- See also
- otThreadGetLeaderWeight
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.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
[in] | aMaxChildren | The maximum allowed children. |
- Return values
-
OT_ERROR_NONE | Successfully set the max. |
OT_ERROR_INVALID_ARGS | If aMaxChildren is not in the range [1, OPENTHREAD_CONFIG_MLE_MAX_CHILDREN]. |
OT_ERROR_INVALID_STATE | If Thread isn't stopped. |
- See also
- otThreadGetMaxAllowedChildren
otError otThreadSetMaxChildIpAddresses |
( |
otInstance * |
aInstance, |
|
|
uint8_t |
aMaxIpAddresses |
|
) |
| |
This function sets/restores the maximum number of IP addresses that each MTD child may register with this device as parent.
- Note
- This API requires
OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
, and is only used by Thread Test Harness to limit the address registrations of the reference parent in order to test the MTD DUT reaction.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
[in] | aMaxIpAddresses | The maximum number of IP addresses that each MTD child may register with this device as parent. 0 to clear the setting and restore the default. |
- Return values
-
OT_ERROR_NONE | Successfully set/cleared the number. |
OT_ERROR_INVALID_ARGS | If exceeds the allowed maximum number. |
- See also
- otThreadGetMaxChildIpAddresses
void otThreadSetNetworkIdTimeout |
( |
otInstance * |
aInstance, |
|
|
uint8_t |
aTimeout |
|
) |
| |
Set the NETWORK_ID_TIMEOUT parameter used in the Leader role.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
[in] | aTimeout | The NETWORK_ID_TIMEOUT value. |
- See also
- otThreadGetNetworkIdTimeout
Set the parent priority.
- Note
- This API is reserved for testing and demo purposes only. Changing settings with this API will render a production application non-compliant with the Thread Specification.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
[in] | aParentPriority | The parent priority value. |
- Return values
-
OT_ERROR_NONE | Successfully set the parent priority. |
OT_ERROR_INVALID_ARGS | If the parent priority value is not among 1, 0, -1 and -2. |
- See also
- otThreadGetParentPriority
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.
- Note
- This API is reserved for testing and demo purposes only. Changing settings with this API will render a production application non-compliant with the Thread Specification.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
[in] | aRouterId | The preferred Router Id. |
- Return values
-
OT_ERROR_NONE | Successfully set the preferred Router Id. |
OT_ERROR_INVALID_STATE | Could not set (role is not detached or disabled) |
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.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
[in] | aPskc | A pointer to the new Thread PSKc. |
- Return values
-
OT_ERROR_NONE | Successfully set the Thread PSKc. |
OT_ERROR_INVALID_STATE | Thread protocols are enabled. |
- See also
- otThreadGetPskc
void otThreadSetRouterDowngradeThreshold |
( |
otInstance * |
aInstance, |
|
|
uint8_t |
aThreshold |
|
) |
| |
Set the ROUTER_DOWNGRADE_THRESHOLD parameter used in the Leader role.
- Note
- This API is reserved for testing and demo purposes only. Changing settings with this API will render a production application non-compliant with the Thread Specification.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
[in] | aThreshold | The ROUTER_DOWNGRADE_THRESHOLD value. |
- See also
- otThreadGetRouterDowngradeThreshold
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.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
[in] | aEligible | TRUE to configure the device as router-eligible, FALSE otherwise. |
- Return values
-
OT_ERROR_NONE | Successfully set the router-eligible configuration. |
OT_ERROR_NOT_CAPABLE | The device is not capable of becoming a router. |
void otThreadSetRouterSelectionJitter |
( |
otInstance * |
aInstance, |
|
|
uint8_t |
aRouterJitter |
|
) |
| |
Set the ROUTER_SELECTION_JITTER parameter used in the REED/Router role.
- Note
- This API is reserved for testing and demo purposes only. Changing settings with this API will render a production application non-compliant with the Thread Specification.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
[in] | aRouterJitter | The ROUTER_SELECTION_JITTER value. |
- See also
- otThreadGetRouterSelectionJitter
void otThreadSetRouterUpgradeThreshold |
( |
otInstance * |
aInstance, |
|
|
uint8_t |
aThreshold |
|
) |
| |
Set the ROUTER_UPGRADE_THRESHOLD parameter used in the Leader role.
- Note
- This API is reserved for testing and demo purposes only. Changing settings with this API will render a production application non-compliant with the Thread Specification.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
[in] | aThreshold | The ROUTER_UPGRADE_THRESHOLD value. |
- See also
- otThreadGetRouterUpgradeThreshold
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.
- Parameters
-
[in] | aInstance | A pointer to an OpenThread instance. |
[in] | aExtAddress | Address used to update the steering data. All zeros to clear the steering data (no steering data). All 0xFFs to set steering data/bloom filter to accept/allow all. A specific EUI64 which is then added to current steering data/bloom filter. |