This module includes functions to manage local network data with the OpenThread Border Router.
Functions |
|
otError | otBorderRoutingInit ( otInstance *aInstance, uint32_t aInfraIfIndex, bool aInfraIfIsRunning) |
This method initializes the Border Routing Manager on given infrastructure interface.
|
|
otError | otBorderRoutingSetEnabled ( otInstance *aInstance, bool aEnabled) |
This method enables/disables the Border Routing Manager.
|
|
otError | otBorderRoutingGetOmrPrefix ( otInstance *aInstance, otIp6Prefix *aPrefix) |
This method returns the off-mesh-routable (OMR) prefix.
|
|
otError | otBorderRoutingGetOnLinkPrefix ( otInstance *aInstance, otIp6Prefix *aPrefix) |
This method returns the on-link prefix for the adjacent infrastructure link.
|
|
otError | otBorderRouterGetNetData ( otInstance *aInstance, bool aStable, uint8_t *aData, uint8_t *aDataLength) |
This method provides a full or stable copy of the local Thread Network Data.
|
|
otError | otBorderRouterAddOnMeshPrefix ( otInstance *aInstance, const otBorderRouterConfig *aConfig) |
Add a border router configuration to the local network data.
|
|
otError | otBorderRouterRemoveOnMeshPrefix ( otInstance *aInstance, const otIp6Prefix *aPrefix) |
Remove a border router configuration from the local network data.
|
|
otError | otBorderRouterGetNextOnMeshPrefix ( otInstance *aInstance, otNetworkDataIterator *aIterator, otBorderRouterConfig *aConfig) |
This function gets the next On Mesh Prefix in the local Network Data.
|
|
otError | otBorderRouterAddRoute ( otInstance *aInstance, const otExternalRouteConfig *aConfig) |
Add an external route configuration to the local network data.
|
|
otError | otBorderRouterRemoveRoute ( otInstance *aInstance, const otIp6Prefix *aPrefix) |
Remove an external route configuration from the local network data.
|
|
otError | otBorderRouterGetNextRoute ( otInstance *aInstance, otNetworkDataIterator *aIterator, otExternalRouteConfig *aConfig) |
This function gets the next external route in the local Network Data.
|
|
otError | otBorderRouterRegister ( otInstance *aInstance) |
Immediately register the local network data with the Leader.
|
Detailed Description
This module includes functions to manage local network data with the OpenThread Border Router.
Function Documentation
◆ otBorderRouterAddOnMeshPrefix()
otError otBorderRouterAddOnMeshPrefix | ( | otInstance * |
aInstance,
|
const otBorderRouterConfig * |
aConfig
|
||
) |
Add a border router configuration to the local network data.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aConfig
A pointer to the border router configuration.
- Return values
-
OT_ERROR_NONE
Successfully added the configuration to the local network data. OT_ERROR_INVALID_ARGS
One or more configuration parameters were invalid. OT_ERROR_NO_BUFS
Not enough room is available to add the configuration to the local network data.
◆ otBorderRouterAddRoute()
otError otBorderRouterAddRoute | ( | otInstance * |
aInstance,
|
const otExternalRouteConfig * |
aConfig
|
||
) |
Add an external route configuration to the local network data.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aConfig
A pointer to the external route configuration.
- Return values
-
OT_ERROR_NONE
Successfully added the configuration to the local network data. OT_ERROR_INVALID_ARGS
One or more configuration parameters were invalid. OT_ERROR_NO_BUFS
Not enough room is available to add the configuration to the local network data.
◆ otBorderRouterGetNetData()
otError otBorderRouterGetNetData | ( | otInstance * |
aInstance,
|
bool |
aStable,
|
||
uint8_t * |
aData,
|
||
uint8_t * |
aDataLength
|
||
) |
This method provides a full or stable copy of the local Thread Network Data.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aStable
TRUE when copying the stable version, FALSE when copying the full version. [out] aData
A pointer to the data buffer. [in,out] aDataLength
On entry, size of the data buffer pointed to by aData
. On exit, number of copied bytes.
◆ otBorderRouterGetNextOnMeshPrefix()
otError otBorderRouterGetNextOnMeshPrefix | ( | otInstance * |
aInstance,
|
otNetworkDataIterator * |
aIterator,
|
||
otBorderRouterConfig * |
aConfig
|
||
) |
This function gets the next On Mesh Prefix in the local Network Data.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in,out] aIterator
A pointer to the Network Data iterator context. To get the first on-mesh entry it should be set to OT_NETWORK_DATA_ITERATOR_INIT. [out] aConfig
A pointer to the On Mesh Prefix information.
- Return values
-
OT_ERROR_NONE
Successfully found the next On Mesh prefix. OT_ERROR_NOT_FOUND
No subsequent On Mesh prefix exists in the Thread Network Data.
◆ otBorderRouterGetNextRoute()
otError otBorderRouterGetNextRoute | ( | otInstance * |
aInstance,
|
otNetworkDataIterator * |
aIterator,
|
||
otExternalRouteConfig * |
aConfig
|
||
) |
This function gets the next external route in the local Network Data.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in,out] aIterator
A pointer to the Network Data iterator context. To get the first external route entry it should be set to OT_NETWORK_DATA_ITERATOR_INIT. [out] aConfig
A pointer to the External Route information.
- Return values
-
OT_ERROR_NONE
Successfully found the next External Route. OT_ERROR_NOT_FOUND
No subsequent external route entry exists in the Thread Network Data.
◆ otBorderRouterRegister()
otError otBorderRouterRegister | ( | otInstance * |
aInstance
|
) |
Immediately register the local network data with the Leader.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance.
- Return values
-
OT_ERROR_NONE
Successfully queued a Server Data Request message for delivery.
◆ otBorderRouterRemoveOnMeshPrefix()
otError otBorderRouterRemoveOnMeshPrefix | ( | otInstance * |
aInstance,
|
const otIp6Prefix * |
aPrefix
|
||
) |
Remove a border router configuration from the local network data.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aPrefix
A pointer to an IPv6 prefix.
- Return values
-
OT_ERROR_NONE
Successfully removed the configuration from the local network data. OT_ERROR_NOT_FOUND
Could not find the Border Router entry.
◆ otBorderRouterRemoveRoute()
otError otBorderRouterRemoveRoute | ( | otInstance * |
aInstance,
|
const otIp6Prefix * |
aPrefix
|
||
) |
Remove an external route configuration from the local network data.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aPrefix
A pointer to an IPv6 prefix.
- Return values
-
OT_ERROR_NONE
Successfully removed the configuration from the local network data. OT_ERROR_NOT_FOUND
Could not find the Border Router entry.
◆ otBorderRoutingGetOmrPrefix()
otError otBorderRoutingGetOmrPrefix | ( | otInstance * |
aInstance,
|
otIp6Prefix * |
aPrefix
|
||
) |
This method returns the off-mesh-routable (OMR) prefix.
The randomly generated 64-bit prefix will be published in the Thread network if there isn't already an OMR prefix.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [out] aPrefix
A pointer to where the prefix will be output to.
- Return values
-
OT_ERROR_INVALID_STATE
The Border Routing Manager is not initialized yet. OT_ERROR_NONE
Successfully retrieved the OMR prefix.
◆ otBorderRoutingGetOnLinkPrefix()
otError otBorderRoutingGetOnLinkPrefix | ( | otInstance * |
aInstance,
|
otIp6Prefix * |
aPrefix
|
||
) |
This method returns the on-link prefix for the adjacent infrastructure link.
The randomly generated 64-bit prefix will be advertised on the infrastructure link if there isn't already a usable on-link prefix being advertised on the link.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [out] aPrefix
A pointer to where the prefix will be output to.
- Return values
-
OT_ERROR_INVALID_STATE
The Border Routing Manager is not initialized yet. OT_ERROR_NONE
Successfully retrieved the on-link prefix.
◆ otBorderRoutingInit()
otError otBorderRoutingInit | ( | otInstance * |
aInstance,
|
uint32_t |
aInfraIfIndex,
|
||
bool |
aInfraIfIsRunning
|
||
) |
This method initializes the Border Routing Manager on given infrastructure interface.
- Note
- This method MUST be called before any other otBorderRouting* APIs.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aInfraIfIndex
The infrastructure interface index. [in] aInfraIfIsRunning
A boolean that indicates whether the infrastructure interface is running.
- Return values
-
OT_ERROR_NONE
Successfully started the Border Routing Manager on given infrastructure. OT_ERROR_INVALID_STATE
The Border Routing Manager has already been initialized. OT_ERROR_INVALID_ARGS
The index of the infrastructure interface is not valid. OT_ERROR_FAILED
Internal failure. Usually due to failure in generating random prefixes.
- See also
-
otPlatInfraIfStateChanged
.
◆ otBorderRoutingSetEnabled()
otError otBorderRoutingSetEnabled | ( | otInstance * |
aInstance,
|
bool |
aEnabled
|
||
) |
This method enables/disables the Border Routing Manager.
- Note
- The Border Routing Manager is disabled by default.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aEnabled
A boolean to enable/disable the routing manager.
- Return values
-
OT_ERROR_INVALID_STATE
The Border Routing Manager is not initialized yet. OT_ERROR_NONE
Successfully enabled/disabled the Border Routing Manager.