Google 致力于为黑人社区推动种族平等。查看具体行动

骨干网路由器

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

摘要

枚举

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 代理发生更改时,系统就会调用此函数指针。
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)
此函数获取线程网络中的主要骨干路由器信息。
otBackboneRouterGetRegistrationJitter(otInstance *aInstance)
uint8_t
此方法会返回骨干路由器注册抖动值。
otBackboneRouterGetState(otInstance *aInstance)
此函数获取骨干路由器状态。
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)
此函数用于设置本地骨干路由器配置。
otBackboneRouterSetDomainPrefixCallback(otInstance *aInstance, otBackboneRouterDomainPrefixCallback aCallback, void *aContext)
void
此方法设置骨干路由器网域前缀回调。
otBackboneRouterSetEnabled(otInstance *aInstance, bool aEnable)
void
此功能会启用或停用 Backbone 功能。
otBackboneRouterSetMulticastListenerCallback(otInstance *aInstance, otBackboneRouterMulticastListenerCallback aCallback, void *aContext)
void
此方法设置 Backbone Router 多播侦听器回调。
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

Backbone 函数已停用。

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 代理发生更改时,系统就会调用此函数指针。

详情
参数
[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 后可用。仅用于测试和认证。

TODO (DUA) 支持 Coap 错误代码和用于认证目的的相应流程。

详情
参数
[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_REFERENCE_DEVICE_ENABLE 后可用。仅用于测试和认证。

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

otBackboneRouterGetConfig

void otBackboneRouterGetConfig(
  otInstance *aInstance,
  otBackboneRouterConfig *aConfig
)

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

详情
参数
[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
域 Unicast 地址。
[out] aNdProxyInfo
指向 ND 代理信息的指针。
返回值
OT_ERROR_NONE
已成功获取 ND 代理信息。
OT_ERROR_NOT_FOUND
在 ND 代理表中未能找到域 Unicast 地址。

otBackboneRouterGetPrimary

otError otBackboneRouterGetPrimary(
  otInstance *aInstance,
  otBackboneRouterConfig *aConfig
)

此函数获取线程网络中的主要骨干路由器信息。

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

otBackboneRouterGetRegistrationJitter

uint8_t otBackboneRouterGetRegistrationJitter(
  otInstance *aInstance
)

此方法会返回骨干路由器注册抖动值。

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

otBackboneRouterGetState

otBackboneRouterState otBackboneRouterGetState(
  otInstance *aInstance
)

此函数获取骨干路由器状态。

详情
参数
[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
)

此方法可添加一个多播监听器。

注意:仅在启用 OPENTHREAD_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_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
otBackboneRouterMulticastListenerAdd

otBackboneRouterRegister

otError otBackboneRouterRegister(
  otInstance *aInstance
)

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

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

otBackboneRouterSetConfig

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

此函数用于设置本地骨干路由器配置。

详情
参数
[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
)

此功能会启用或停用 Backbone 功能。

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

otBackboneRouterSetMulticastListenerCallback

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

此方法设置 Backbone Router 多播侦听器回调。

详情
参数
[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 上找到。 如需了解详情或为我们的文档做贡献,请参阅资源