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.
|
otBorderRoutingGetNat64Prefix(otInstance *aInstance, otIp6Prefix *aPrefix)
|
Gets the local NAT64 Prefix of the Border Router.
|
otBorderRoutingGetOmrPrefix(otInstance *aInstance, otIp6Prefix *aPrefix)
|
Gets the Off-Mesh-Routable (OMR) Prefix, for example
fdfc:1ff5:1512:5622::/64 . |
otBorderRoutingGetOnLinkPrefix(otInstance *aInstance, otIp6Prefix *aPrefix)
|
Gets the On-Link Prefix for the adjacent infrastructure link, for example
fd41:2650:a6f5:0::/64 . |
otBorderRoutingGetRouteInfoOptionPreference(otInstance *aInstance)
|
This function gets the preference used when advertising Route Info Options (e.g., for discovered OMR prefixes) in Router Advertisement messages sent over the infrastructure link.
|
otBorderRoutingInit(otInstance *aInstance, uint32_t aInfraIfIndex, bool aInfraIfIsRunning)
|
This method initializes the Border Routing Manager on given infrastructure interface.
|
otBorderRoutingSetEnabled(otInstance *aInstance, bool aEnabled)
|
Enables or disables the Border Routing Manager.
|
otBorderRoutingSetRouteInfoOptionPreference(otInstance *aInstance, otRoutePreference aPreference)
|
void
This function sets the preference to use when advertising Route Info Options (e.g., for discovered OMR prefixes) in Router Advertisement messages sent over the infrastructure link.
|
Functions
otBorderRouterAddOnMeshPrefix
otError otBorderRouterAddOnMeshPrefix( otInstance *aInstance, const otBorderRouterConfig *aConfig )
Add a border router configuration to the local network data.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameters |
|
||||||
Return Values |
|
otBorderRouterRemoveOnMeshPrefix
otBorderRouterRegister
otBorderRouterAddRoute
otError otBorderRouterAddRoute( otInstance *aInstance, const otExternalRouteConfig *aConfig )
Add an external route configuration to the local network data.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameters |
|
||||||
Return Values |
|
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 |
|
otBorderRouterGetNextOnMeshPrefix
otError otBorderRouterGetNextOnMeshPrefix( otInstance *aInstance, otNetworkDataIterator *aIterator, otBorderRouterConfig *aConfig )
This function gets the next On Mesh Prefix in the local Network Data.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameters |
|
||||||
Return Values |
|
otBorderRouterGetNextRoute
otError otBorderRouterGetNextRoute( otInstance *aInstance, otNetworkDataIterator *aIterator, otExternalRouteConfig *aConfig )
This function gets the next external route in the local Network Data.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameters |
|
||||||
Return Values |
|
otBorderRouterRegister
otError otBorderRouterRegister( otInstance *aInstance )
Immediately register the local network data with the Leader.
Details | |||
---|---|---|---|
Parameters |
|
||
Return Values |
|
otBorderRouterAddOnMeshPrefix
otBorderRouterRemoveOnMeshPrefix
otBorderRouterAddRoute
otBorderRouterRemoveRoute
otBorderRouterRemoveOnMeshPrefix
otError otBorderRouterRemoveOnMeshPrefix( otInstance *aInstance, const otIp6Prefix *aPrefix )
Remove a border router configuration from the local network data.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Return Values |
|
otBorderRouterAddOnMeshPrefix
otBorderRouterRegister
otBorderRouterRemoveRoute
otError otBorderRouterRemoveRoute( otInstance *aInstance, const otIp6Prefix *aPrefix )
Remove an external route configuration from the local network data.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Return Values |
|
otBorderRouterAddRoute
otBorderRouterRegister
otBorderRoutingGetNat64Prefix
otError otBorderRoutingGetNat64Prefix( otInstance *aInstance, otIp6Prefix *aPrefix )
Gets the local NAT64 Prefix of the Border Router.
NAT64 Prefix might not be advertised in the Thread network.
OPENTHREAD_CONFIG_BORDER_ROUTING_NAT64_ENABLE
must be enabled.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Return Values |
|
otBorderRoutingGetOmrPrefix
otError otBorderRoutingGetOmrPrefix( otInstance *aInstance, otIp6Prefix *aPrefix )
Gets the Off-Mesh-Routable (OMR) Prefix, for example fdfc:1ff5:1512:5622::/64
.
An OMR Prefix is a randomly generated 64-bit prefix that's published in the Thread network if there isn't already an OMR prefix. This prefix can be reached from the local Wi-Fi or Ethernet network.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Return Values |
|
otBorderRoutingGetOnLinkPrefix
otError otBorderRoutingGetOnLinkPrefix( otInstance *aInstance, otIp6Prefix *aPrefix )
Gets the On-Link Prefix for the adjacent infrastructure link, for example fd41:2650:a6f5:0::/64
.
An On-Link Prefix is a randomly generated 64-bit prefix that's advertised on the infrastructure link if there isn't already a usable on-link prefix being advertised on the link.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Return Values |
|
otBorderRoutingGetRouteInfoOptionPreference
otRoutePreference otBorderRoutingGetRouteInfoOptionPreference( otInstance *aInstance )
This function gets the preference used when advertising Route Info Options (e.g., for discovered OMR prefixes) in Router Advertisement messages sent over the infrastructure link.
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
The OMR prefix advertisement preference.
|
otBorderRoutingInit
otError otBorderRoutingInit( otInstance *aInstance, uint32_t aInfraIfIndex, bool aInfraIfIsRunning )
This method initializes the Border Routing Manager on given infrastructure interface.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameters |
|
||||||||
Return Values |
|
otPlatInfraIfStateChanged.
otBorderRoutingSetEnabled
otError otBorderRoutingSetEnabled( otInstance *aInstance, bool aEnabled )
Enables or disables the Border Routing Manager.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Return Values |
|
otBorderRoutingSetRouteInfoOptionPreference
void otBorderRoutingSetRouteInfoOptionPreference( otInstance *aInstance, otRoutePreference aPreference )
This function sets the preference to use when advertising Route Info Options (e.g., for discovered OMR prefixes) in Router Advertisement messages sent over the infrastructure link.
By default BR will use 'medium' preference level but this function allows the default value to be changed. As an example, it can be set to 'low' preference in the case where device is a temporary BR (a mobile BR or a battery-powered BR) to indicate that other BRs (if any) should be preferred over this BR on the infrastructure link.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
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.