Stay organized with collections Save and categorize content based on your preferences.

Border Router

This module includes functions to manage local network data with the OpenThread Border Router.

Summary

Functions

otBorderRouterAddOnMeshPrefix(otInstance *aInstance, const otBorderRouterConfig *aConfig)
Add a border router configuration to the local network data.
otBorderRouterAddRoute(otInstance *aInstance, const otExternalRouteConfig *aConfig)
Add an external route configuration to the local network data.
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.
otBorderRouterGetNextOnMeshPrefix(otInstance *aInstance, otNetworkDataIterator *aIterator, otBorderRouterConfig *aConfig)
This function gets the next On Mesh Prefix in the local Network Data.
otBorderRouterGetNextRoute(otInstance *aInstance, otNetworkDataIterator *aIterator, otExternalRouteConfig *aConfig)
This function gets the next external route in the local Network Data.
otBorderRouterRegister(otInstance *aInstance)
Immediately register the local network data with the Leader.
otBorderRouterRemoveOnMeshPrefix(otInstance *aInstance, const otIp6Prefix *aPrefix)
Remove a border router configuration from the local network data.
otBorderRouterRemoveRoute(otInstance *aInstance, const otIp6Prefix *aPrefix)
Remove an external route configuration from the local network data.

Functions

otBorderRouterAddOnMeshPrefix

otError otBorderRouterAddOnMeshPrefix(
  otInstance *aInstance,
  const otBorderRouterConfig *aConfig
)

Add a border router configuration to the local network data.

Details
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.
See also:
otBorderRouterRemoveOnMeshPrefix
otBorderRouterRegister

otBorderRouterAddRoute

otError otBorderRouterAddRoute(
  otInstance *aInstance,
  const otExternalRouteConfig *aConfig
)

Add an external route configuration to the local network data.

Details
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.
See also:
otBorderRouterRemoveRoute
otBorderRouterRegister

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.

Details
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.

Details
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.

Details
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.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
Return Values
OT_ERROR_NONE
Successfully queued a Server Data Request message for delivery.
See also:
otBorderRouterAddOnMeshPrefix
otBorderRouterRemoveOnMeshPrefix
otBorderRouterAddRoute
otBorderRouterRemoveRoute

otBorderRouterRemoveOnMeshPrefix

otError otBorderRouterRemoveOnMeshPrefix(
  otInstance *aInstance,
  const otIp6Prefix *aPrefix
)

Remove a border router configuration from the local network data.

Details
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.
See also:
otBorderRouterAddOnMeshPrefix
otBorderRouterRegister

otBorderRouterRemoveRoute

otError otBorderRouterRemoveRoute(
  otInstance *aInstance,
  const otIp6Prefix *aPrefix
)

Remove an external route configuration from the local network data.

Details
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.
See also:
otBorderRouterAddRoute
otBorderRouterRegister

Resources

OpenThread API Reference topics originate from the source code, available on GitHub. For more information, or to contribute to our documentation, refer to Resources.