This module includes functions for the OpenThread Backbone Router Service.
Classes | |
struct | otBackboneRouterConfig |
This structure represents Backbone Router configuration. | |
struct | otBackboneRouterMulticastListenerInfo |
This structure represents a Backbone Router Multicast Listener info. | |
struct | otBackboneRouterNdProxyInfo |
Represents the Backbone Router ND Proxy info. |
Macros | |
#define | OT_BACKBONE_ROUTER_MULTICAST_LISTENER_ITERATOR_INIT 0 |
Initializer for otBackboneRouterMulticastListenerIterator. |
Typedefs | |
typedef struct otBackboneRouterConfig | otBackboneRouterConfig |
This structure represents Backbone Router configuration. | |
typedef void(* | otBackboneRouterMulticastListenerCallback) (void *aContext, otBackboneRouterMulticastListenerEvent aEvent, const otIp6Address *aAddress) |
This function pointer is called whenever the Multicast Listeners change. | |
typedef uint16_t | otBackboneRouterMulticastListenerIterator |
Used to iterate through Multicast Listeners. | |
typedef struct otBackboneRouterMulticastListenerInfo | otBackboneRouterMulticastListenerInfo |
This structure represents a Backbone Router Multicast Listener info. | |
typedef void(* | otBackboneRouterNdProxyCallback) (void *aContext, otBackboneRouterNdProxyEvent aEvent, const otIp6Address *aDua) |
This function pointer is called whenever the Nd Proxy changed. | |
typedef void(* | otBackboneRouterDomainPrefixCallback) (void *aContext, otBackboneRouterDomainPrefixEvent aEvent, const otIp6Prefix *aDomainPrefix) |
This function pointer is called whenever the Domain Prefix changed. |
Enumerations | |
enum | otBackboneRouterState { OT_BACKBONE_ROUTER_STATE_DISABLED = 0, OT_BACKBONE_ROUTER_STATE_SECONDARY = 1, OT_BACKBONE_ROUTER_STATE_PRIMARY = 2 } |
Represents the Backbone Router Status. | |
enum | otBackboneRouterMulticastListenerEvent { OT_BACKBONE_ROUTER_MULTICAST_LISTENER_ADDED = 0, OT_BACKBONE_ROUTER_MULTICAST_LISTENER_REMOVED = 1 } |
Represents the Multicast Listener events. | |
enum | otBackboneRouterNdProxyEvent { OT_BACKBONE_ROUTER_NDPROXY_ADDED = 0, OT_BACKBONE_ROUTER_NDPROXY_REMOVED = 1, OT_BACKBONE_ROUTER_NDPROXY_RENEWED = 2, OT_BACKBONE_ROUTER_NDPROXY_CLEARED = 3 } |
Represents the ND Proxy events. | |
enum | otBackboneRouterDomainPrefixEvent { OT_BACKBONE_ROUTER_DOMAIN_PREFIX_ADDED = 0, OT_BACKBONE_ROUTER_DOMAIN_PREFIX_REMOVED = 1, OT_BACKBONE_ROUTER_DOMAIN_PREFIX_CHANGED = 2 } |
Represents the Domain Prefix events. |
Functions | |
otError | otBackboneRouterGetPrimary (otInstance *aInstance, otBackboneRouterConfig *aConfig) |
This function gets the Primary Backbone Router information in the Thread Network. | |
void | otBackboneRouterSetEnabled (otInstance *aInstance, bool aEnable) |
This function enables or disables Backbone functionality. | |
otBackboneRouterState | otBackboneRouterGetState (otInstance *aInstance) |
This function gets the Backbone Router state. | |
void | otBackboneRouterGetConfig (otInstance *aInstance, otBackboneRouterConfig *aConfig) |
This function gets the local Backbone Router configuration. | |
otError | otBackboneRouterSetConfig (otInstance *aInstance, const otBackboneRouterConfig *aConfig) |
This function sets the local Backbone Router configuration. | |
otError | otBackboneRouterRegister (otInstance *aInstance) |
This function explicitly registers local Backbone Router configuration. | |
uint8_t | otBackboneRouterGetRegistrationJitter (otInstance *aInstance) |
This method returns the Backbone Router registration jitter value. | |
void | otBackboneRouterSetRegistrationJitter (otInstance *aInstance, uint8_t aJitter) |
This method sets the Backbone Router registration jitter value. | |
otError | otBackboneRouterGetDomainPrefix (otInstance *aInstance, otBorderRouterConfig *aConfig) |
This method gets the local Domain Prefix configuration. | |
void | otBackboneRouterConfigNextDuaRegistrationResponse (otInstance *aInstance, const otIp6InterfaceIdentifier *aMlIid, uint8_t aStatus) |
This method configures response status for next DUA registration. | |
void | otBackboneRouterConfigNextMulticastListenerRegistrationResponse (otInstance *aInstance, uint8_t aStatus) |
This method configures response status for next Multicast Listener Registration. | |
void | otBackboneRouterSetMulticastListenerCallback (otInstance *aInstance, otBackboneRouterMulticastListenerCallback aCallback, void *aContext) |
This method sets the Backbone Router Multicast Listener callback. | |
void | otBackboneRouterMulticastListenerClear (otInstance *aInstance) |
This method clears the Multicast Listeners. | |
otError | otBackboneRouterMulticastListenerAdd (otInstance *aInstance, const otIp6Address *aAddress, uint32_t aTimeout) |
This method adds a Multicast Listener. | |
otError | otBackboneRouterMulticastListenerGetNext (otInstance *aInstance, otBackboneRouterMulticastListenerIterator *aIterator, otBackboneRouterMulticastListenerInfo *aListenerInfo) |
This function gets the next Multicast Listener info (using an iterator). | |
void | otBackboneRouterSetNdProxyCallback (otInstance *aInstance, otBackboneRouterNdProxyCallback aCallback, void *aContext) |
This method sets the Backbone Router ND Proxy callback. | |
otError | otBackboneRouterGetNdProxyInfo (otInstance *aInstance, const otIp6Address *aDua, otBackboneRouterNdProxyInfo *aNdProxyInfo) |
This method gets the Backbone Router ND Proxy info. | |
void | otBackboneRouterSetDomainPrefixCallback (otInstance *aInstance, otBackboneRouterDomainPrefixCallback aCallback, void *aContext) |
This method sets the Backbone Router Domain Prefix callback. |
Detailed Description
This module includes functions for the OpenThread Backbone Router Service.
Typedef Documentation
◆ otBackboneRouterDomainPrefixCallback
typedef void(* otBackboneRouterDomainPrefixCallback) (void *aContext, otBackboneRouterDomainPrefixEvent aEvent, const otIp6Prefix *aDomainPrefix) |
This function pointer is called whenever the Domain Prefix changed.
- Parameters
-
[in] aContext
The user context pointer. [in] aEvent
The Domain Prefix event. [in] aDomainPrefix
The new Domain Prefix if added or changed, nullptr otherwise.
◆ otBackboneRouterMulticastListenerCallback
typedef void(* otBackboneRouterMulticastListenerCallback) (void *aContext, otBackboneRouterMulticastListenerEvent aEvent, const otIp6Address *aAddress) |
This function pointer is called whenever the Multicast Listeners change.
- Parameters
-
[in] aContext
The user context pointer. [in] aEvent
The Multicast Listener event. [in] aAddress
The IPv6 multicast address of the Multicast Listener.
◆ otBackboneRouterNdProxyCallback
typedef void(* otBackboneRouterNdProxyCallback) (void *aContext, otBackboneRouterNdProxyEvent aEvent, const otIp6Address *aDua) |
This function pointer is called whenever the Nd Proxy changed.
- Parameters
-
[in] aContext
The user context pointer. [in] aEvent
The ND Proxy event. [in] aDua
The Domain Unicast Address of the ND Proxy, or nullptr
ifaEvent
isOT_BACKBONE_ROUTER_NDPROXY_CLEARED
.
Enumeration Type Documentation
◆ otBackboneRouterDomainPrefixEvent
◆ otBackboneRouterMulticastListenerEvent
◆ otBackboneRouterNdProxyEvent
◆ otBackboneRouterState
Function Documentation
◆ otBackboneRouterConfigNextDuaRegistrationResponse()
void otBackboneRouterConfigNextDuaRegistrationResponse | ( | otInstance * | aInstance, |
const otIp6InterfaceIdentifier * | aMlIid, |
||
uint8_t | aStatus |
||
) |
This method configures response status for next DUA registration.
Note: available only when OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
is enabled. Only used for test and certification.
TODO: (DUA) support coap error code and corresponding process for certification purpose.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aMlIid
A pointer to the Mesh Local IID. If NULL, respond with aStatus
for any coming DUA.req, otherwise only respond the one with matchingaMlIid
.[in] aStatus
The status to respond.
◆ otBackboneRouterConfigNextMulticastListenerRegistrationResponse()
void otBackboneRouterConfigNextMulticastListenerRegistrationResponse | ( | otInstance * | aInstance, |
uint8_t | aStatus |
||
) |
This method configures response status for next Multicast Listener Registration.
Note: available only when OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
is enabled. Only used for test and certification.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aStatus
The status to respond.
◆ otBackboneRouterGetConfig()
void otBackboneRouterGetConfig | ( | otInstance * | aInstance, |
otBackboneRouterConfig * | aConfig |
||
) |
This function gets the local Backbone Router configuration.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [out] aConfig
A pointer where to put local Backbone Router configuration.
◆ otBackboneRouterGetDomainPrefix()
otError otBackboneRouterGetDomainPrefix | ( | otInstance * | aInstance, |
otBorderRouterConfig * | aConfig |
||
) |
This method gets the local Domain Prefix configuration.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [out] aConfig
A pointer to the Domain Prefix configuration.
- Return values
-
OT_ERROR_NONE
Successfully got the Domain Prefix configuration. OT_ERROR_NOT_FOUND
No Domain Prefix was configured.
◆ otBackboneRouterGetNdProxyInfo()
otError otBackboneRouterGetNdProxyInfo | ( | otInstance * | aInstance, |
const otIp6Address * | aDua, |
||
otBackboneRouterNdProxyInfo * | aNdProxyInfo |
||
) |
This method gets the Backbone Router ND Proxy info.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aDua
The Domain Unicast Address. [out] aNdProxyInfo
A pointer to the ND Proxy info.
- Return values
-
OT_ERROR_NONE
Successfully got the ND Proxy info. OT_ERROR_NOT_FOUND
Failed to find the Domain Unicast Address in the ND Proxy table.
◆ otBackboneRouterGetPrimary()
otError otBackboneRouterGetPrimary | ( | otInstance * | aInstance, |
otBackboneRouterConfig * | aConfig |
||
) |
This function gets the Primary Backbone Router information in the Thread Network.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [out] aConfig
A pointer to where to put Primary Backbone Router information.
- Return values
-
OT_ERROR_NONE
Successfully got Primary Backbone Router information. OT_ERROR_NOT_FOUND
No Primary Backbone Router exists.
◆ otBackboneRouterGetRegistrationJitter()
uint8_t otBackboneRouterGetRegistrationJitter | ( | otInstance * | aInstance | ) |
This method returns the Backbone Router registration jitter value.
- Returns
- The Backbone Router registration jitter value.
◆ otBackboneRouterGetState()
otBackboneRouterState otBackboneRouterGetState | ( | otInstance * | aInstance | ) |
This function gets the Backbone Router state.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance.
- Return values
-
OT_BACKBONE_ROUTER_STATE_DISABLED
Backbone functionality is disabled. OT_BACKBONE_ROUTER_STATE_SECONDARY
Secondary Backbone Router. OT_BACKBONE_ROUTER_STATE_PRIMARY
The Primary Backbone Router.
◆ otBackboneRouterMulticastListenerAdd()
otError otBackboneRouterMulticastListenerAdd | ( | otInstance * | aInstance, |
const otIp6Address * | aAddress, |
||
uint32_t | aTimeout |
||
) |
This method adds a Multicast Listener.
Note: available only when OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
is enabled. Only used for test and certification.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aAddress
The Multicast Listener address. [in] aTimeout
The timeout (in seconds) of the Multicast Listener, or 0 to use the default MLR timeout.
- Return values
-
OT_ERROR_NONE
If the Multicast Listener was successfully added. OT_ERROR_INVALID_ARGS
If the Multicast Listener address was invalid. OT_ERROR_NO_BUFS
No space available to save the Multicast Listener.
◆ otBackboneRouterMulticastListenerClear()
void otBackboneRouterMulticastListenerClear | ( | otInstance * | aInstance | ) |
This method clears the Multicast Listeners.
Note: available only when OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
is enabled. Only used for test and certification.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance.
◆ otBackboneRouterMulticastListenerGetNext()
otError otBackboneRouterMulticastListenerGetNext | ( | otInstance * | aInstance, |
otBackboneRouterMulticastListenerIterator * | aIterator, |
||
otBackboneRouterMulticastListenerInfo * | aListenerInfo |
||
) |
This function gets the next Multicast Listener info (using an iterator).
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in,out] aIterator
A pointer to the iterator. On success the iterator will be updated to point to next Multicast Listener. To get the first entry the iterator should be set to OT_BACKBONE_ROUTER_MULTICAST_LISTENER_ITERATOR_INIT. [out] aListenerInfo
A pointer to an otBackboneRouterMulticastListenerInfo
where information of next Multicast Listener is placed (on success).
- Return values
-
OT_ERROR_NONE
Successfully found the next Multicast Listener info ( aListenerInfo
was successfully updated).OT_ERROR_NOT_FOUND
No subsequent Multicast Listener info was found.
◆ otBackboneRouterRegister()
otError otBackboneRouterRegister | ( | otInstance * | aInstance | ) |
This function explicitly registers local Backbone Router configuration.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance.
- Return values
-
OT_ERROR_NO_BUFS
Insufficient space to add the Backbone Router service. OT_ERROR_NONE
Successfully queued a Server Data Request message for delivery.
◆ otBackboneRouterSetConfig()
otError otBackboneRouterSetConfig | ( | otInstance * | aInstance, |
const otBackboneRouterConfig * | aConfig |
||
) |
This function sets the local Backbone Router configuration.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aConfig
A pointer to the Backbone Router configuration to take effect.
- Return values
-
OT_ERROR_NONE
Successfully updated configuration. OT_ERROR_INVALID_ARGS
The configuration in aConfig
is invalid.
◆ otBackboneRouterSetDomainPrefixCallback()
void otBackboneRouterSetDomainPrefixCallback | ( | otInstance * | aInstance, |
otBackboneRouterDomainPrefixCallback | aCallback, |
||
void * | aContext |
||
) |
This method sets the Backbone Router Domain Prefix callback.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aCallback
A pointer to the Domain Prefix callback. [in] aContext
A user context pointer.
◆ otBackboneRouterSetEnabled()
void otBackboneRouterSetEnabled | ( | otInstance * | aInstance, |
bool | aEnable |
||
) |
This function enables or disables Backbone functionality.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aEnable
TRUE to enable Backbone functionality, FALSE otherwise.
◆ otBackboneRouterSetMulticastListenerCallback()
void otBackboneRouterSetMulticastListenerCallback | ( | otInstance * | aInstance, |
otBackboneRouterMulticastListenerCallback | aCallback, |
||
void * | aContext |
||
) |
This method sets the Backbone Router Multicast Listener callback.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aCallback
A pointer to the Multicast Listener callback. [in] aContext
A user context pointer.
◆ otBackboneRouterSetNdProxyCallback()
void otBackboneRouterSetNdProxyCallback | ( | otInstance * | aInstance, |
otBackboneRouterNdProxyCallback | aCallback, |
||
void * | aContext |
||
) |
This method sets the Backbone Router ND Proxy callback.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aCallback
A pointer to the ND Proxy callback. [in] aContext
A user context pointer.
◆ otBackboneRouterSetRegistrationJitter()
void otBackboneRouterSetRegistrationJitter | ( | otInstance * | aInstance, |
uint8_t | aJitter |
||
) |
This method sets the Backbone Router registration jitter value.
- Parameters
-
[in] aJitter
the Backbone Router registration jitter value to set.