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] aInstanceA pointer to an OpenThread instance. [in] aConfigA pointer to the border router configuration.
- Return values
-
OT_ERROR_NONESuccessfully added the configuration to the local network data. OT_ERROR_INVALID_ARGSOne or more configuration parameters were invalid. OT_ERROR_NO_BUFSNot 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] aInstanceA pointer to an OpenThread instance. [in] aConfigA pointer to the external route configuration.
- Return values
-
OT_ERROR_NONESuccessfully added the configuration to the local network data. OT_ERROR_INVALID_ARGSOne or more configuration parameters were invalid. OT_ERROR_NO_BUFSNot 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] aInstanceA pointer to an OpenThread instance. [in] aStableTRUE when copying the stable version, FALSE when copying the full version. [out] aDataA pointer to the data buffer. [in,out] aDataLengthOn 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] aInstanceA pointer to an OpenThread instance. [in,out] aIteratorA 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] aConfigA pointer to the On Mesh Prefix information.
- Return values
-
OT_ERROR_NONESuccessfully found the next On Mesh prefix. OT_ERROR_NOT_FOUNDNo 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] aInstanceA pointer to an OpenThread instance. [in,out] aIteratorA 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] aConfigA pointer to the External Route information.
- Return values
-
OT_ERROR_NONESuccessfully found the next External Route. OT_ERROR_NOT_FOUNDNo 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] aInstanceA pointer to an OpenThread instance.
- Return values
-
OT_ERROR_NONESuccessfully 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] aInstanceA pointer to an OpenThread instance. [in] aPrefixA pointer to an IPv6 prefix.
- Return values
-
OT_ERROR_NONESuccessfully removed the configuration from the local network data. OT_ERROR_NOT_FOUNDCould 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] aInstanceA pointer to an OpenThread instance. [in] aPrefixA pointer to an IPv6 prefix.
- Return values
-
OT_ERROR_NONESuccessfully removed the configuration from the local network data. OT_ERROR_NOT_FOUNDCould 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] aInstanceA pointer to an OpenThread instance. [out] aPrefixA pointer to where the prefix will be output to.
- Return values
-
OT_ERROR_INVALID_STATEThe Border Routing Manager is not initialized yet. OT_ERROR_NONESuccessfully 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] aInstanceA pointer to an OpenThread instance. [out] aPrefixA pointer to where the prefix will be output to.
- Return values
-
OT_ERROR_INVALID_STATEThe Border Routing Manager is not initialized yet. OT_ERROR_NONESuccessfully 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] aInstanceA pointer to an OpenThread instance. [in] aInfraIfIndexThe infrastructure interface index. [in] aInfraIfIsRunningA boolean that indicates whether the infrastructure interface is running.
- Return values
-
OT_ERROR_NONESuccessfully started the Border Routing Manager on given infrastructure. OT_ERROR_INVALID_STATEThe Border Routing Manager has already been initialized. OT_ERROR_INVALID_ARGSThe index of the infrastructure interface is not valid. OT_ERROR_FAILEDInternal 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] aInstanceA pointer to an OpenThread instance. [in] aEnabledA boolean to enable/disable the routing manager.
- Return values
-
OT_ERROR_INVALID_STATEThe Border Routing Manager is not initialized yet. OT_ERROR_NONESuccessfully enabled/disabled the Border Routing Manager.