骨干路由器

此模块包含 OpenThread 骨干路由器服务的函数。

总结

枚举

otBackboneRouterDomainPrefixEvent{
  OT_BACKBONE_ROUTER_DOMAIN_PREFIX_ADDED = 0,
  OT_BACKBONE_ROUTER_DOMAIN_PREFIX_REMOVED = 1,
  OT_BACKBONE_ROUTER_DOMAIN_PREFIX_CHANGED = 2
}
枚举
表示网域前缀事件。
otBackboneRouterMulticastListenerEvent{
  OT_BACKBONE_ROUTER_MULTICAST_LISTENER_ADDED = 0,
  OT_BACKBONE_ROUTER_MULTICAST_LISTENER_REMOVED = 1
}
枚举
表示多播监听器事件。
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
}
枚举
表示 ND 代理事件。
otBackboneRouterState{
  OT_BACKBONE_ROUTER_STATE_DISABLED = 0,
  OT_BACKBONE_ROUTER_STATE_SECONDARY = 1,
  OT_BACKBONE_ROUTER_STATE_PRIMARY = 2
}
枚举
表示骨干路由器状态。

类型定义符

otBackboneRouterConfig typedef
代表骨干路由器配置。
otBackboneRouterDomainPrefixCallback)(void *aContext, otBackboneRouterDomainPrefixEvent aEvent, const otIp6Prefix *aDomainPrefix) typedef
void(*
每当网域前缀发生变化时,系统都会调用指针。
otBackboneRouterMulticastListenerCallback)(void *aContext, otBackboneRouterMulticastListenerEvent aEvent, const otIp6Address *aAddress) typedef
void(*
每当多播监听器发生变化时,系统都会调用指针。
otBackboneRouterMulticastListenerInfo typedef
表示主干路由器多播监听器信息。
otBackboneRouterMulticastListenerIterator typedef
uint16_t
用于通过多播监听器迭代。
otBackboneRouterNdProxyCallback)(void *aContext, otBackboneRouterNdProxyEvent aEvent, const otIp6Address *aDua) typedef
void(*
每当 Nd Proxy 发生更改时,系统都会调用指针。
otBackboneRouterNdProxyInfo typedef
表示骨干路由器 ND 代理信息。

函数

otBackboneRouterConfigNextDuaRegistrationResponse(otInstance *aInstance, const otIp6InterfaceIdentifier *aMlIid, uint8_t aStatus)
void
配置下一个 DUA 注册的响应状态。
otBackboneRouterConfigNextMulticastListenerRegistrationResponse(otInstance *aInstance, uint8_t aStatus)
void
配置下一个多播监听器注册的响应状态。
otBackboneRouterGetConfig(otInstance *aInstance, otBackboneRouterConfig *aConfig)
void
获取本地骨干路由器配置。
otBackboneRouterGetDomainPrefix(otInstance *aInstance, otBorderRouterConfig *aConfig)
获取本地网域前缀配置。
otBackboneRouterGetNdProxyInfo(otInstance *aInstance, const otIp6Address *aDua, otBackboneRouterNdProxyInfo *aNdProxyInfo)
获取骨干网 ND 代理信息。
otBackboneRouterGetPrimary(otInstance *aInstance, otBackboneRouterConfig *aConfig)
获取 Thread 网络中的主骨干路由器信息。
otBackboneRouterGetRegistrationJitter(otInstance *aInstance)
uint8_t
返回骨干路由器注册抖动值。
otBackboneRouterGetState(otInstance *aInstance)
获取骨干路由器 otBackboneRouterState
otBackboneRouterMulticastListenerAdd(otInstance *aInstance, const otIp6Address *aAddress, uint32_t aTimeout)
添加具有超时值(以秒为单位)的多播监听器。
otBackboneRouterMulticastListenerClear(otInstance *aInstance)
void
清除多播监听器。
otBackboneRouterMulticastListenerGetNext(otInstance *aInstance, otBackboneRouterMulticastListenerIterator *aIterator, otBackboneRouterMulticastListenerInfo *aListenerInfo)
获取下一个多播监听器信息(使用迭代器)。
otBackboneRouterRegister(otInstance *aInstance)
明确注册本地骨干路由器配置。
otBackboneRouterSetConfig(otInstance *aInstance, const otBackboneRouterConfig *aConfig)
设置本地 Backbone 路由器配置 otBackboneRouterConfig
otBackboneRouterSetDomainPrefixCallback(otInstance *aInstance, otBackboneRouterDomainPrefixCallback aCallback, void *aContext)
void
设置主干路由器网域前缀回调。
otBackboneRouterSetEnabled(otInstance *aInstance, bool aEnable)
void
启用或停用骨干网功能。
otBackboneRouterSetMulticastListenerCallback(otInstance *aInstance, otBackboneRouterMulticastListenerCallback aCallback, void *aContext)
void
设置主干路由器多播监听器回调。
otBackboneRouterSetNdProxyCallback(otInstance *aInstance, otBackboneRouterNdProxyCallback aCallback, void *aContext)
void
设置骨干路由器 ND 代理回调。
otBackboneRouterSetRegistrationJitter(otInstance *aInstance, uint8_t aJitter)
void
设置主干路由器注册抖动值。

结构体

otBackboneRouterConfig

代表骨干路由器配置。

otBackboneRouterMulticastListenerInfo

表示主干路由器多播监听器信息。

otBackboneRouterNdProxyInfo

表示骨干路由器 ND 代理信息。

枚举

otBackboneRouterDomainPrefixEvent

 otBackboneRouterDomainPrefixEvent

表示网域前缀事件。

属性
OT_BACKBONE_ROUTER_DOMAIN_PREFIX_ADDED

已添加网域前缀。

OT_BACKBONE_ROUTER_DOMAIN_PREFIX_CHANGED

更改了网域前缀。

OT_BACKBONE_ROUTER_DOMAIN_PREFIX_REMOVED

已移除网域前缀。

otBackboneRouterMulticastListenerEvent

 otBackboneRouterMulticastListenerEvent

表示多播监听器事件。

属性
OT_BACKBONE_ROUTER_MULTICAST_LISTENER_ADDED

添加了多播监听器。

OT_BACKBONE_ROUTER_MULTICAST_LISTENER_REMOVED

多播监听器已被移除或过期。

otBackboneRouterNdProxyEvent

 otBackboneRouterNdProxyEvent

表示 ND 代理事件。

属性
OT_BACKBONE_ROUTER_NDPROXY_ADDED

已添加 ND 代理。

OT_BACKBONE_ROUTER_NDPROXY_CLEARED

所有 ND 代理均已被清除。

OT_BACKBONE_ROUTER_NDPROXY_REMOVED

已移除 ND 代理。

OT_BACKBONE_ROUTER_NDPROXY_RENEWED

ND 代理已续期。

otBackboneRouterState

 otBackboneRouterState

表示骨干路由器状态。

属性
OT_BACKBONE_ROUTER_STATE_DISABLED

骨干网功能已停用。

OT_BACKBONE_ROUTER_STATE_PRIMARY

主骨干路由器。

OT_BACKBONE_ROUTER_STATE_SECONDARY

备用骨干路由器。

类型定义符

otBackboneRouterConfig

struct otBackboneRouterConfig otBackboneRouterConfig

代表骨干路由器配置。

otBackboneRouterDomainPrefixCallback

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

每当网域前缀发生变化时,系统都会调用指针。

详情
参数
[in] aContext
用户上下文指针。
[in] aEvent
网域前缀事件。
[in] aDomainPrefix
新的网域前缀(如果添加或更改)或 nullptr。

otBackboneRouterMulticastListenerCallback

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

每当多播监听器发生变化时,系统都会调用指针。

详情
参数
[in] aContext
用户上下文指针。
[in] aEvent
多播监听器事件。
[in] aAddress
多播监听器的 IPv6 多播地址。

otBackboneRouterMulticastListenerInfo

struct otBackboneRouterMulticastListenerInfo otBackboneRouterMulticastListenerInfo

表示主干路由器多播监听器信息。

otBackboneRouterMulticastListenerIterator

uint16_t otBackboneRouterMulticastListenerIterator

用于通过多播监听器迭代。

otBackboneRouterNdProxyCallback

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

每当 Nd Proxy 发生更改时,系统都会调用指针。

详情
参数
[in] aContext
用户上下文指针。
[in] aEvent
ND 代理事件。
[in] aDua
ND 代理的网域单播地址,或(如果 aEventOT_BACKBONE_ROUTER_NDPROXY_CLEARED,则为 nullptr)。

otBackboneRouterNdProxyInfo

struct otBackboneRouterNdProxyInfo otBackboneRouterNdProxyInfo

表示骨干路由器 ND 代理信息。

函数

otBackboneRouterConfigNextDuaRegistrationResponse

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

配置下一个 DUA 注册的响应状态。

注意:仅在 OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE 处于启用状态时可用。仅用于测试和认证。

待办事项:(DUA) 为寻求认证而提供支持的错误代码和相应流程。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aMlIid
指向 Mesh Local IID 的指针。如果为 NULL,对于任何传入的 DUA.req,均使用 aStatus 进行响应;否则,仅响应具有匹配 aMlIid 的 DUA.req。
[in] aStatus
要响应的状态。

otBackboneRouterConfigNextMulticastListenerRegistrationResponse

void otBackboneRouterConfigNextMulticastListenerRegistrationResponse(
  otInstance *aInstance,
  uint8_t aStatus
)

配置下一个多播监听器注册的响应状态。

启用 OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLEOPENTHREAD_CONFIG_BACKBONE_ROUTER_MULTICAST_ROUTING_ENABLEOPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE 后可用。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aStatus
要响应的状态。

otBackboneRouterGetConfig

void otBackboneRouterGetConfig(
  otInstance *aInstance,
  otBackboneRouterConfig *aConfig
)

获取本地骨干路由器配置。

启用 OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLE 后可用。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[out] aConfig
将本地骨干路由器配置的放置位置。
另请参阅
otBackboneRouterSetEnabled
otBackboneRouterGetState
otBackboneRouterSetConfig
otBackboneRouterRegister

otBackboneRouterGetDomainPrefix

otError otBackboneRouterGetDomainPrefix(
  otInstance *aInstance,
  otBorderRouterConfig *aConfig
)

获取本地网域前缀配置。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[out] aConfig
指向网域前缀配置的指针。
返回值
OT_ERROR_NONE
已成功获取网域前缀配置。
OT_ERROR_NOT_FOUND
未配置任何网域前缀。

otBackboneRouterGetNdProxyInfo

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

获取骨干网 ND 代理信息。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aDua
网域单播地址。
[out] aNdProxyInfo
指向 ND 代理信息的指针。
返回值
OT_ERROR_NONE
已成功获取 ND 代理信息。
OT_ERROR_NOT_FOUND
未能在 ND 代理表中找到网域单播地址。

otBackboneRouterGetPrimary

otError otBackboneRouterGetPrimary(
  otInstance *aInstance,
  otBackboneRouterConfig *aConfig
)

获取 Thread 网络中的主骨干路由器信息。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[out] aConfig
指向主骨干路由器信息的放置位置。
返回值
OT_ERROR_NONE
已成功获取主骨干路由器信息。
OT_ERROR_NOT_FOUND
不存在主骨干路由器。

otBackboneRouterGetRegistrationJitter

uint8_t otBackboneRouterGetRegistrationJitter(
  otInstance *aInstance
)

返回骨干路由器注册抖动值。

详情
返回
主干路由器注册抖动值。
另请参阅
otBackboneRouterSetRegistrationJitter

otBackboneRouterGetState

otBackboneRouterState otBackboneRouterGetState(
  otInstance *aInstance
)

获取骨干路由器 otBackboneRouterState

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
返回值
OT_BACKBONE_ROUTER_STATE_DISABLED
骨干网功能已停用。
OT_BACKBONE_ROUTER_STATE_SECONDARY
备用骨干路由器。
OT_BACKBONE_ROUTER_STATE_PRIMARY
主骨干路由器。
另请参阅
otBackboneRouterSetEnabled
otBackboneRouterGetConfig
otBackboneRouterSetConfig
otBackboneRouterRegister

otBackboneRouterMulticastListenerAdd

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

添加具有超时值(以秒为单位)的多播监听器。

传递 0 可使用默认的 MLR 超时。

启用 OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLEOPENTHREAD_CONFIG_BACKBONE_ROUTER_MULTICAST_ROUTING_ENABLEOPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE 后可用。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aAddress
多播监听器地址。
[in] aTimeout
多播监听器的超时时间(以秒为单位),默认值为 0 以使用默认 MLR 超时。
返回值
OT_ERROR_NONE
已成功添加多播监听器。
OT_ERROR_INVALID_ARGS
多播监听器地址无效。
OT_ERROR_NO_BUFS
空间不足,无法保存多播监听器。
另请参阅
otBackboneRouterMulticastListenerClear
otBackboneRouterMulticastListenerGetNext

otBackboneRouterMulticastListenerClear

void otBackboneRouterMulticastListenerClear(
  otInstance *aInstance
)

清除多播监听器。

启用 OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLEOPENTHREAD_CONFIG_BACKBONE_ROUTER_MULTICAST_ROUTING_ENABLEOPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE 后可用。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
另请参阅
otBackboneRouterMulticastListenerAdd
otBackboneRouterMulticastListenerGetNext

otBackboneRouterMulticastListenerGetNext

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

获取下一个多播监听器信息(使用迭代器)。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in,out] aIterator
指向迭代器的指针。成功更新后,迭代器将更新为指向下一个多播监听器。如需获取第一个条目,迭代器应设置为 OT_BACKBONE_ROUTER_MULTICAST_LISTENER_ITERATOR_INIT。
[out] aListenerInfo
一个指向 otBackboneRouterMulticastListenerInfo 的指针,系统将在其中放置下一个多播监听器的信息(如果成功)。
返回值
OT_ERROR_NONE
已成功找到下一个多播监听器信息(aListenerInfo 已成功更新)。
OT_ERROR_NOT_FOUND
找不到后续的多播监听器信息。
另请参阅
otBackboneRouterMulticastListenerClear
otBbRouteRouterMulticastListenerAdd

otBackboneRouterRegister

otError otBackboneRouterRegister(
  otInstance *aInstance
)

明确注册本地骨干路由器配置。

连接的设备会触发服务器数据请求消息 SRV_DATA.ntf

启用 OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLE 后可用。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
返回值
OT_ERROR_NO_BUFS
空间不足,无法添加骨干路由器服务。
OT_ERROR_NONE
已成功将服务器数据请求消息加入队列进行传递。
另请参阅
otBackboneRouterSetEnabled
otBackboneRouterGetState
otBackboneRouterGetConfig
otBackboneRouterSetConfig

otBackboneRouterSetConfig

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

设置本地 Backbone 路由器配置 otBackboneRouterConfig

如果主骨干路由器的 BBR 数据集发生更改,系统会自动启动服务器数据请求消息 SRV_DATA.ntf

启用 OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLE 后可用。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aConfig
指向主干路由器配置的指针。
返回值
OT_ERROR_NONE
已成功更新配置。
OT_ERROR_INVALID_ARGS
aConfig”中的配置无效。
另请参阅
otBackboneRouterSetEnabled
otBackboneRouterGetState
otBackboneRouterGetConfig
otBackboneRouterRegister

otBackboneRouterSetDomainPrefixCallback

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

设置主干路由器网域前缀回调。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aCallback
指向网域前缀回调的指针。
[in] aContext
用户上下文指针。

otBackboneRouterSetEnabled

void otBackboneRouterSetEnabled(
  otInstance *aInstance,
  bool aEnable
)

启用或停用骨干网功能。

启用后,如果 Thread 网络数据中没有骨干路由器服务,就会为连接的设备触发服务器数据请求消息 SRV_DATA.ntf

如果停用,则如果骨干路由器处于主要状态,则会触发 SRV_DATA.ntf

启用 OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLE 后可用。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aEnable
为 True 时,启用骨干网功能,否则为 FALSE。
另请参阅
otBackboneRouterGetState
otBackboneRouterGetConfig
otBackboneRouterSetConfig
otBackboneRouterRegister

otBackboneRouterSetMulticastListenerCallback

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

设置主干路由器多播监听器回调。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aCallback
指向多播监听器回调的指针。
[in] aContext
用户上下文指针。

otBackboneRouterSetNdProxyCallback

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

设置骨干路由器 ND 代理回调。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aCallback
指向 ND 代理回调的指针。
[in] aContext
用户上下文指针。

otBackboneRouterSetRegistrationJitter

void otBackboneRouterSetRegistrationJitter(
  otInstance *aInstance,
  uint8_t aJitter
)

设置主干路由器注册抖动值。

详情
参数
[in] aJitter
要设置的主干路由器注册抖动值。
另请参阅
otBackboneRouterGetRegistrationJitter

OT_BACKBONE_ROUTER_MULTICAST_LISTENER_ITERATOR_INIT

 OT_BACKBONE_ROUTER_MULTICAST_LISTENER_ITERATOR_INIT 0

otBackboneRouterMulticastListenerIterator 的初始化程序。

资源

OpenThread API 参考主题源自源代码,可在 GitHub 上获取。 如需了解详情或为我们的文档贡献内容,请参阅资源