Backbone Router#

This module includes functions for the OpenThread Backbone Router Service.

Modules#

otBackboneRouterConfig

otBackboneRouterMulticastListenerInfo

otBackboneRouterNdProxyInfo

Enumerations#

enum
OT_BACKBONE_ROUTER_STATE_DISABLED = 0
OT_BACKBONE_ROUTER_STATE_SECONDARY = 1
OT_BACKBONE_ROUTER_STATE_PRIMARY = 2
}

Represents the Backbone Router Status.

enum
OT_BACKBONE_ROUTER_MULTICAST_LISTENER_ADDED = 0
OT_BACKBONE_ROUTER_MULTICAST_LISTENER_REMOVED = 1
}

Represents the Multicast Listener events.

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

Typedefs#

typedef struct otBackboneRouterConfig

Represents Backbone Router configuration.

typedef void(*
otBackboneRouterMulticastListenerCallback)(void *aContext, otBackboneRouterMulticastListenerEvent aEvent, const otIp6Address *aAddress)

Pointer is called whenever the Multicast Listeners change.

typedef uint16_t

Used to iterate through Multicast Listeners.

Represents a Backbone Router Multicast Listener info.

typedef void(*
otBackboneRouterNdProxyCallback)(void *aContext, otBackboneRouterNdProxyEvent aEvent, const otIp6Address *aDua)

Pointer is called whenever the Nd Proxy changed.

Represents the Backbone Router ND Proxy info.

typedef void(*
otBackboneRouterDomainPrefixCallback)(void *aContext, otBackboneRouterDomainPrefixEvent aEvent, const otIp6Prefix *aDomainPrefix)

Pointer is called whenever the Domain Prefix changed.

Functions#

otBackboneRouterGetPrimary(otInstance *aInstance, otBackboneRouterConfig *aConfig)

Gets the Primary Backbone Router information in the Thread Network.

void
otBackboneRouterSetEnabled(otInstance *aInstance, bool aEnable)

Enables or disables Backbone functionality.

otBackboneRouterGetState(otInstance *aInstance)

Gets the Backbone Router otBackboneRouterState.

void
otBackboneRouterGetConfig(otInstance *aInstance, otBackboneRouterConfig *aConfig)

Gets the local Backbone Router configuration.

otBackboneRouterSetConfig(otInstance *aInstance, const otBackboneRouterConfig *aConfig)

Sets the local Backbone Router configuration otBackboneRouterConfig.

otBackboneRouterRegister(otInstance *aInstance)

Explicitly registers local Backbone Router configuration.

uint8_t

Returns the Backbone Router registration jitter value.

void
otBackboneRouterSetRegistrationJitter(otInstance *aInstance, uint8_t aJitter)

Sets the Backbone Router registration jitter value.

otBackboneRouterGetDomainPrefix(otInstance *aInstance, otBorderRouterConfig *aConfig)

Gets the local Domain Prefix configuration.

void
otBackboneRouterConfigNextDuaRegistrationResponse(otInstance *aInstance, const otIp6InterfaceIdentifier *aMlIid, uint8_t aStatus)

Configures response status for next DUA registration.

void

Configures the response status for the next Multicast Listener Registration.

void
otBackboneRouterSetMulticastListenerCallback(otInstance *aInstance, otBackboneRouterMulticastListenerCallback aCallback, void *aContext)

Sets the Backbone Router Multicast Listener callback.

void

Clears the Multicast Listeners.

otBackboneRouterMulticastListenerAdd(otInstance *aInstance, const otIp6Address *aAddress, uint32_t aTimeout)

Adds a Multicast Listener with a timeout value, in seconds.

otBackboneRouterMulticastListenerGetNext(otInstance *aInstance, otBackboneRouterMulticastListenerIterator *aIterator, otBackboneRouterMulticastListenerInfo *aListenerInfo)

Gets the next Multicast Listener info (using an iterator).

void
otBackboneRouterSetNdProxyCallback(otInstance *aInstance, otBackboneRouterNdProxyCallback aCallback, void *aContext)

Sets the Backbone Router ND Proxy callback.

otBackboneRouterGetNdProxyInfo(otInstance *aInstance, const otIp6Address *aDua, otBackboneRouterNdProxyInfo *aNdProxyInfo)

Gets the Backbone Router ND Proxy info.

void
otBackboneRouterSetDomainPrefixCallback(otInstance *aInstance, otBackboneRouterDomainPrefixCallback aCallback, void *aContext)

Sets the Backbone Router Domain Prefix callback.

Macros#

#define

Initializer for otBackboneRouterMulticastListenerIterator.

Enumeration Documentation#

otBackboneRouterState#

otBackboneRouterState

Represents the Backbone Router Status.

Enumerator
OT_BACKBONE_ROUTER_STATE_DISABLED

Backbone function is disabled.

OT_BACKBONE_ROUTER_STATE_SECONDARY

Secondary Backbone Router.

OT_BACKBONE_ROUTER_STATE_PRIMARY

The Primary Backbone Router.


Definition at line 59 of file include/openthread/backbone_router_ftd.h

otBackboneRouterMulticastListenerEvent#

otBackboneRouterMulticastListenerEvent

Represents the Multicast Listener events.

Enumerator
OT_BACKBONE_ROUTER_MULTICAST_LISTENER_ADDED

Multicast Listener was added.

OT_BACKBONE_ROUTER_MULTICAST_LISTENER_REMOVED

Multicast Listener was removed or expired.


Definition at line 231 of file include/openthread/backbone_router_ftd.h

otBackboneRouterNdProxyEvent#

otBackboneRouterNdProxyEvent

Represents the ND Proxy events.

Enumerator
OT_BACKBONE_ROUTER_NDPROXY_ADDED

ND Proxy was added.

OT_BACKBONE_ROUTER_NDPROXY_REMOVED

ND Proxy was removed.

OT_BACKBONE_ROUTER_NDPROXY_RENEWED

ND Proxy was renewed.

OT_BACKBONE_ROUTER_NDPROXY_CLEARED

All ND Proxies were cleared.


Definition at line 340 of file include/openthread/backbone_router_ftd.h

otBackboneRouterDomainPrefixEvent#

otBackboneRouterDomainPrefixEvent

Represents the Domain Prefix events.

Enumerator
OT_BACKBONE_ROUTER_DOMAIN_PREFIX_ADDED

Domain Prefix was added.

OT_BACKBONE_ROUTER_DOMAIN_PREFIX_REMOVED

Domain Prefix was removed.

OT_BACKBONE_ROUTER_DOMAIN_PREFIX_CHANGED

Domain Prefix was changed.


Definition at line 403 of file include/openthread/backbone_router_ftd.h

Typedef Documentation#

otBackboneRouterConfig#

typedef struct otBackboneRouterConfig otBackboneRouterConfig

Represents Backbone Router configuration.


Definition at line 64 of file include/openthread/backbone_router.h

otBackboneRouterMulticastListenerCallback#

typedef void(* otBackboneRouterMulticastListenerCallback) (void *aContext, otBackboneRouterMulticastListenerEvent aEvent, const otIp6Address *aAddress) )(void *aContext, otBackboneRouterMulticastListenerEvent aEvent, const otIp6Address *aAddress)

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.


Definition at line 245 of file include/openthread/backbone_router_ftd.h

otBackboneRouterMulticastListenerIterator#

typedef uint16_t otBackboneRouterMulticastListenerIterator

Used to iterate through Multicast Listeners.


Definition at line 302 of file include/openthread/backbone_router_ftd.h

otBackboneRouterMulticastListenerInfo#

typedef struct otBackboneRouterMulticastListenerInfo otBackboneRouterMulticastListenerInfo

Represents a Backbone Router Multicast Listener info.


Definition at line 312 of file include/openthread/backbone_router_ftd.h

otBackboneRouterNdProxyCallback#

typedef void(* otBackboneRouterNdProxyCallback) (void *aContext, otBackboneRouterNdProxyEvent aEvent, const otIp6Address *aDua) )(void *aContext, otBackboneRouterNdProxyEvent aEvent, const otIp6Address *aDua)

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 if aEvent is OT_BACKBONE_ROUTER_NDPROXY_CLEARED.


Definition at line 357 of file include/openthread/backbone_router_ftd.h

otBackboneRouterNdProxyInfo#

typedef struct otBackboneRouterNdProxyInfo otBackboneRouterNdProxyInfo

Represents the Backbone Router ND Proxy info.


Definition at line 382 of file include/openthread/backbone_router_ftd.h

otBackboneRouterDomainPrefixCallback#

typedef void(* otBackboneRouterDomainPrefixCallback) (void *aContext, otBackboneRouterDomainPrefixEvent aEvent, const otIp6Prefix *aDomainPrefix) )(void *aContext, otBackboneRouterDomainPrefixEvent aEvent, const otIp6Prefix *aDomainPrefix)

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.


Definition at line 418 of file include/openthread/backbone_router_ftd.h

Function Documentation#

otBackboneRouterGetPrimary#

otError otBackboneRouterGetPrimary (otInstance *aInstance, otBackboneRouterConfig *aConfig)

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.


Definition at line 76 of file include/openthread/backbone_router.h

otBackboneRouterSetEnabled#

void otBackboneRouterSetEnabled (otInstance *aInstance, bool aEnable)

Enables or disables Backbone functionality.

Parameters
[in]aInstance

A pointer to an OpenThread instance.

[in]aEnable

TRUE to enable Backbone functionality, FALSE otherwise.

If enabled, a Server Data Request message SRV_DATA.ntf is triggered for the attached device if there is no Backbone Router Service in the Thread Network Data.

If disabled, SRV_DATA.ntf is triggered if the Backbone Router is in the Primary state.

Available when OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLE is enabled.

See Also


Definition at line 85 of file include/openthread/backbone_router_ftd.h

otBackboneRouterGetState#

otBackboneRouterState otBackboneRouterGetState (otInstance *aInstance)

Gets the Backbone Router otBackboneRouterState.

Parameters
[in]aInstance

A pointer to an OpenThread instance.

See Also


Definition at line 102 of file include/openthread/backbone_router_ftd.h

otBackboneRouterGetConfig#

void otBackboneRouterGetConfig (otInstance *aInstance, otBackboneRouterConfig *aConfig)

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.

Available when OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLE is enabled.

See Also


Definition at line 119 of file include/openthread/backbone_router_ftd.h

otBackboneRouterSetConfig#

otError otBackboneRouterSetConfig (otInstance *aInstance, const otBackboneRouterConfig *aConfig)

Sets the local Backbone Router configuration otBackboneRouterConfig.

Parameters
[in]aInstance

A pointer to an OpenThread instance.

[in]aConfig

A pointer to the Backbone Router configuration to take effect.

A Server Data Request message SRV_DATA.ntf is initiated automatically if BBR Dataset changes for Primary Backbone Router.

Available when OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLE is enabled.

See Also


Definition at line 141 of file include/openthread/backbone_router_ftd.h

otBackboneRouterRegister#

otError otBackboneRouterRegister (otInstance *aInstance)

Explicitly registers local Backbone Router configuration.

Parameters
[in]aInstance

A pointer to an OpenThread instance.

A Server Data Request message SRV_DATA.ntf is triggered for the attached device.

Available when OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLE is enabled.

See Also


Definition at line 161 of file include/openthread/backbone_router_ftd.h

otBackboneRouterGetRegistrationJitter#

uint8_t otBackboneRouterGetRegistrationJitter (otInstance *aInstance)

Returns the Backbone Router registration jitter value.

Parameters
N/AaInstance

Returns

  • The Backbone Router registration jitter value.

See Also


Definition at line 171 of file include/openthread/backbone_router_ftd.h

otBackboneRouterSetRegistrationJitter#

void otBackboneRouterSetRegistrationJitter (otInstance *aInstance, uint8_t aJitter)

Sets the Backbone Router registration jitter value.

Parameters
[in]aInstance

the Backbone Router registration jitter value to set.

N/AaJitter

See Also


Definition at line 181 of file include/openthread/backbone_router_ftd.h

otBackboneRouterGetDomainPrefix#

otError otBackboneRouterGetDomainPrefix (otInstance *aInstance, otBorderRouterConfig *aConfig)

Gets the local Domain Prefix configuration.

Parameters
[in]aInstance

A pointer to an OpenThread instance.

[out]aConfig

A pointer to the Domain Prefix configuration.


Definition at line 193 of file include/openthread/backbone_router_ftd.h

otBackboneRouterConfigNextDuaRegistrationResponse#

void otBackboneRouterConfigNextDuaRegistrationResponse (otInstance *aInstance, const otIp6InterfaceIdentifier *aMlIid, uint8_t aStatus)

Configures response status for next DUA registration.

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 matching aMlIid.

[in]aStatus

The status to respond.

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.


Definition at line 210 of file include/openthread/backbone_router_ftd.h

otBackboneRouterConfigNextMulticastListenerRegistrationResponse#

void otBackboneRouterConfigNextMulticastListenerRegistrationResponse (otInstance *aInstance, uint8_t aStatus)

Configures the response status for the next Multicast Listener Registration.

Parameters
[in]aInstance

A pointer to an OpenThread instance.

[in]aStatus

The status to respond.

Available when OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLE, OPENTHREAD_CONFIG_BACKBONE_ROUTER_MULTICAST_ROUTING_ENABLE, and OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE are enabled.


Definition at line 225 of file include/openthread/backbone_router_ftd.h

otBackboneRouterSetMulticastListenerCallback#

void otBackboneRouterSetMulticastListenerCallback (otInstance *aInstance, otBackboneRouterMulticastListenerCallback aCallback, void *aContext)

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.


Definition at line 257 of file include/openthread/backbone_router_ftd.h

otBackboneRouterMulticastListenerClear#

void otBackboneRouterMulticastListenerClear (otInstance *aInstance)

Clears the Multicast Listeners.

Parameters
[in]aInstance

A pointer to an OpenThread instance.

Available when OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLE, OPENTHREAD_CONFIG_BACKBONE_ROUTER_MULTICAST_ROUTING_ENABLE, and OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE are enabled.

See Also


Definition at line 274 of file include/openthread/backbone_router_ftd.h

otBackboneRouterMulticastListenerAdd#

otError otBackboneRouterMulticastListenerAdd (otInstance *aInstance, const otIp6Address *aAddress, uint32_t aTimeout)

Adds a Multicast Listener with a timeout value, in seconds.

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.

Pass 0 to use the default MLR timeout.

Available when OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLE, OPENTHREAD_CONFIG_BACKBONE_ROUTER_MULTICAST_ROUTING_ENABLE, and OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE are enabled.

See Also


Definition at line 297 of file include/openthread/backbone_router_ftd.h

otBackboneRouterMulticastListenerGetNext#

otError otBackboneRouterMulticastListenerGetNext (otInstance *aInstance, otBackboneRouterMulticastListenerIterator *aIterator, otBackboneRouterMulticastListenerInfo *aListenerInfo)

Gets the next Multicast Listener info (using an iterator).

Parameters
[in]aInstance

A pointer to an OpenThread instance.

[inout]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).

See Also


Definition at line 332 of file include/openthread/backbone_router_ftd.h

otBackboneRouterSetNdProxyCallback#

void otBackboneRouterSetNdProxyCallback (otInstance *aInstance, otBackboneRouterNdProxyCallback aCallback, void *aContext)

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.


Definition at line 369 of file include/openthread/backbone_router_ftd.h

otBackboneRouterGetNdProxyInfo#

otError otBackboneRouterGetNdProxyInfo (otInstance *aInstance, const otIp6Address *aDua, otBackboneRouterNdProxyInfo *aNdProxyInfo)

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.


Definition at line 395 of file include/openthread/backbone_router_ftd.h

otBackboneRouterSetDomainPrefixCallback#

void otBackboneRouterSetDomainPrefixCallback (otInstance *aInstance, otBackboneRouterDomainPrefixCallback aCallback, void *aContext)

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.


Definition at line 429 of file include/openthread/backbone_router_ftd.h

Macro Definition Documentation#

OT_BACKBONE_ROUTER_MULTICAST_LISTENER_ITERATOR_INIT#

#define OT_BACKBONE_ROUTER_MULTICAST_LISTENER_ITERATOR_INIT
Value:
    0

Initializer for otBackboneRouterMulticastListenerIterator.


Definition at line 299 of file include/openthread/backbone_router_ftd.h