骨幹路由器

這個模組包含 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
}
列舉
代表 Multicast 事件監聽器事件。
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 Proxy 事件。
otBackboneRouterState{
  OT_BACKBONE_ROUTER_STATE_DISABLED = 0,
  OT_BACKBONE_ROUTER_STATE_SECONDARY = 1,
  OT_BACKBONE_ROUTER_STATE_PRIMARY = 2
}
列舉
代表中樞路由器狀態。

Typedefs

otBackboneRouterConfig typedef
代表 Backbone 路由器設定。
otBackboneRouterDomainPrefixCallback)(void *aContext, otBackboneRouterDomainPrefixEvent aEvent, const otIp6Prefix *aDomainPrefix) typedef
void(*
每當「網域前置字串」變更時,系統就會呼叫指標。
otBackboneRouterMulticastListenerCallback)(void *aContext, otBackboneRouterMulticastListenerEvent aEvent, const otIp6Address *aAddress) typedef
void(*
當 Multicast 事件監聽器變更時,系統會呼叫指標。
otBackboneRouterMulticastListenerInfo typedef
代表中樞路由器多點監聽器資訊。
otBackboneRouterMulticastListenerIterator typedef
uint16_t
用於透過 Multicast 事件監聽器疊代疊代。
otBackboneRouterNdProxyCallback)(void *aContext, otBackboneRouterNdProxyEvent aEvent, const otIp6Address *aDua) typedef
void(*
每次 Nd Proxy 變更時,系統都會呼叫指標。
otBackboneRouterNdProxyInfo typedef
代表 Backbone Router ND Proxy 資訊。

執行作業

otBackboneRouterConfigNextDuaRegistrationResponse(otInstance *aInstance, const otIp6InterfaceIdentifier *aMlIid, uint8_t aStatus)
void
設定下一個 DUA 註冊的回應狀態。
otBackboneRouterConfigNextMulticastListenerRegistrationResponse(otInstance *aInstance, uint8_t aStatus)
void
設定下一個 Multicast Listener 註冊的回應狀態。
otBackboneRouterGetConfig(otInstance *aInstance, otBackboneRouterConfig *aConfig)
void
取得本機 Backbone 路由器設定。
otBackboneRouterGetDomainPrefix(otInstance *aInstance, otBorderRouterConfig *aConfig)
取得本機網域前置字串設定。
otBackboneRouterGetNdProxyInfo(otInstance *aInstance, const otIp6Address *aDua, otBackboneRouterNdProxyInfo *aNdProxyInfo)
取得 Backbone Router ND Proxy 資訊。
otBackboneRouterGetPrimary(otInstance *aInstance, otBackboneRouterConfig *aConfig)
取得 Thread 網路中的主要中樞路由器資訊。
otBackboneRouterGetRegistrationJitter(otInstance *aInstance)
uint8_t
傳回 Backbone Router 註冊時基誤差值。
otBackboneRouterGetState(otInstance *aInstance)
取得 Backbone 路由器 otBackboneRouterState
otBackboneRouterMulticastListenerAdd(otInstance *aInstance, const otIp6Address *aAddress, uint32_t aTimeout)
新增包含逾時值的 Multicast 事件監聽器 (以秒為單位)。
otBackboneRouterMulticastListenerClear(otInstance *aInstance)
void
清除 Multicast 事件監聽器。
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
設定 Backbone Router 網域前置字串回呼。
otBackboneRouterSetEnabled(otInstance *aInstance, bool aEnable)
void
啟用或停用 Backbone 功能。
otBackboneRouterSetMulticastListenerCallback(otInstance *aInstance, otBackboneRouterMulticastListenerCallback aCallback, void *aContext)
void
設定 Backbone Router Multicast 事件監聽器回呼。
otBackboneRouterSetNdProxyCallback(otInstance *aInstance, otBackboneRouterNdProxyCallback aCallback, void *aContext)
void
設定 Backbone Router ND Proxy 回呼。
otBackboneRouterSetRegistrationJitter(otInstance *aInstance, uint8_t aJitter)
void
設定 Backbone Router 註冊時基誤差值。

結構

otBackboneRouterConfig

代表 Backbone 路由器設定。

otBackboneRouterMulticastListenerInfo

代表中樞路由器多點監聽器資訊。

otBackboneRouterNdProxyInfo

代表 Backbone Router ND Proxy 資訊。

列舉

otBackboneRouterDomainPrefixEvent

 otBackboneRouterDomainPrefixEvent

代表網域前置字串事件。

屬性
OT_BACKBONE_ROUTER_DOMAIN_PREFIX_ADDED

已新增網域前置字串。

OT_BACKBONE_ROUTER_DOMAIN_PREFIX_CHANGED

網域前置字串已變更。

OT_BACKBONE_ROUTER_DOMAIN_PREFIX_REMOVED

已移除網域前置字串。

otBackboneRouterMulticastListenerEvent

 otBackboneRouterMulticastListenerEvent

代表 Multicast 事件監聽器事件。

屬性
OT_BACKBONE_ROUTER_MULTICAST_LISTENER_ADDED

已新增多播監聽器。

OT_BACKBONE_ROUTER_MULTICAST_LISTENER_REMOVED

多播監聽器已移除或已過期。

otBackboneRouterNdProxyEvent

 otBackboneRouterNdProxyEvent

代表 ND Proxy 事件。

屬性
OT_BACKBONE_ROUTER_NDPROXY_ADDED

已新增 ND Proxy。

OT_BACKBONE_ROUTER_NDPROXY_CLEARED

已清除所有 NDK Proxy。

OT_BACKBONE_ROUTER_NDPROXY_REMOVED

已移除 ND Proxy。

OT_BACKBONE_ROUTER_NDPROXY_RENEWED

ND Proxy 已更新。

otBackboneRouterState

 otBackboneRouterState

代表中樞路由器狀態。

屬性
OT_BACKBONE_ROUTER_STATE_DISABLED

中樞函式已停用。

OT_BACKBONE_ROUTER_STATE_PRIMARY

主要 Backbone 路由器

OT_BACKBONE_ROUTER_STATE_SECONDARY

次要中樞路由器。

Typedefs

otBackboneRouterConfig

struct otBackboneRouterConfig otBackboneRouterConfig

代表 Backbone 路由器設定。

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)

當 Multicast 事件監聽器變更時,系統會呼叫指標。

詳細說明
參數
[in] aContext
使用者情境指標。
[in] aEvent
多播監聽器事件。
[in] aAddress
Multicast 事件監聽器的 IPv6 多點傳送位址。

otBackboneRouterMulticastListenerInfo

struct otBackboneRouterMulticastListenerInfo otBackboneRouterMulticastListenerInfo

代表中樞路由器多點監聽器資訊。

otBackboneRouterMulticastListenerIterator

uint16_t otBackboneRouterMulticastListenerIterator

用於透過 Multicast 事件監聽器疊代疊代。

otBackboneRouterNdProxyCallback

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

每次 Nd Proxy 變更時,系統都會呼叫指標。

詳細說明
參數
[in] aContext
使用者情境指標。
[in] aEvent
ND Proxy 事件。
[in] aDua
ND Proxy 的網域 Unicast 位址;如果 aEventOT_BACKBONE_ROUTER_NDPROXY_CLEARED,則為 nullptr

otBackboneRouterNdProxyInfo

struct otBackboneRouterNdProxyInfo otBackboneRouterNdProxyInfo

代表 Backbone Router ND Proxy 資訊。

執行作業

otBackboneRouterConfigNextDuaRegistrationResponse

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

設定下一個 DUA 註冊的回應狀態。

注意:只有在啟用 OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE 時才能使用。僅用於測試和認證。

TODO:(DUA) 支援代碼錯誤代碼和對應的程序。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aMlIid
指向網格本機 IID 的指標。如為 NULL,請以 aStatus 回應即將發生的 DUA.req,否則請只傳回相符 aMlIid 的值。
[in] aStatus
要回應的狀態。

otBackboneRouterConfigNextMulticastListenerRegistrationResponse

void otBackboneRouterConfigNextMulticastListenerRegistrationResponse(
  otInstance *aInstance,
  uint8_t aStatus
)

設定下一個 Multicast Listener 註冊的回應狀態。

啟用 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
)

取得本機 Backbone 路由器設定。

啟用 OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLE 後才能使用。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[out] aConfig
指向本機 Backbone 路由器設定的指標。
另請參閱:
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
)

取得 Backbone Router ND Proxy 資訊。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aDua
Domain Unicast 位址。
[out] aNdProxyInfo
指向 NDK 資訊的指標。
回傳值
OT_ERROR_NONE
成功取得 ND Proxy 資訊。
OT_ERROR_NOT_FOUND
在 ND Proxy 表格中找不到 Domain Unicast 位址。

otBackboneRouterGetPrimary

otError otBackboneRouterGetPrimary(
  otInstance *aInstance,
  otBackboneRouterConfig *aConfig
)

取得 Thread 網路中的主要中樞路由器資訊。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[out] aConfig
指向主要主要路由器資訊的指標。
回傳值
OT_ERROR_NONE
成功取得主要中樞路由器資訊。
OT_ERROR_NOT_FOUND
沒有主要的 Backbone 路由器。

otBackboneRouterGetRegistrationJitter

uint8_t otBackboneRouterGetRegistrationJitter(
  otInstance *aInstance
)

傳回 Backbone Router 註冊時基誤差值。

詳細說明
傳回
骨幹路由器註冊時基誤差值。
另請參閱:
otBackboneRouterSetRegistrationJitter

otBackboneRouterGetState

otBackboneRouterState otBackboneRouterGetState(
  otInstance *aInstance
)

取得 Backbone 路由器 otBackboneRouterState

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
回傳值
OT_BACKBONE_ROUTER_STATE_DISABLED
中樞功能已停用。
OT_BACKBONE_ROUTER_STATE_SECONDARY
次要中樞路由器。
OT_BACKBONE_ROUTER_STATE_PRIMARY
主要 Backbone 路由器
另請參閱:
otBackboneRouterSetEnabled
otBackboneRouterGetConfig
otBackboneRouterSetConfig
otBackboneRouterRegister

otBackboneRouterMulticastListenerAdd

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

新增包含逾時值的 Multicast 事件監聽器 (以秒為單位)。

傳送 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
如果 Multicast Listener 地址無效,
OT_ERROR_NO_BUFS
已無空間,無法儲存多點傳播器。
另請參閱:
otBackboneRouterMulticastListenerClear
otBackboneRouterMulticastListenerGetNext

otBackboneRouterMulticastListenerClear

void otBackboneRouterMulticastListenerClear(
  otInstance *aInstance
)

清除 Multicast 事件監聽器。

啟用 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 的指標,會在此放置下一個 Multicast 事件監聽器的資訊 (成功)。
回傳值
OT_ERROR_NONE
已成功找到下一個多點監聽器資訊 (aListenerInfo 已成功更新)。
OT_ERROR_NOT_FOUND
找不到後續的多播聽眾資訊。
另請參閱:
otBackboneRouterMulticastListenerClear
otBackboneRouterMulticastListenerAdd

otBackboneRouterRegister

otError otBackboneRouterRegister(
  otInstance *aInstance
)

明確註冊本機中樞路由器設定。

連接的裝置觸發了伺服器資料要求訊息 SRV_DATA.ntf

啟用 OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLE 後才能使用。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
回傳值
OT_ERROR_NO_BUFS
您的空間不足,無法新增 Backbone Router 服務。
OT_ERROR_NONE
已成功將伺服器資料要求訊息排入傳送佇列。
另請參閱:
otBackboneRouterSetEnabled
otBackboneRouterGetState
otBackboneRouterGetConfig
otBackboneRouterSetConfig

otBackboneRouterSetConfig

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

設定本機 Backbone 路由器設定 otBackboneRouterConfig

如果主要 Backbone 路由器的 BBR 資料集變更,系統會自動啟動伺服器資料要求訊息 SRV_DATA.ntf

啟用 OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLE 後才能使用。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aConfig
指向 Backbone 路由器設定的指標。
回傳值
OT_ERROR_NONE
已成功更新設定。
OT_ERROR_INVALID_ARGS
aConfig」中的設定無效。
另請參閱:
otBackboneRouterSetEnabled
otBackboneRouterGetState
otBackboneRouterGetConfig
otBackboneRouterRegister

otBackboneRouterSetDomainPrefixCallback

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

設定 Backbone Router 網域前置字串回呼。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aCallback
指向 Domain Prefix 回呼的指標。
[in] aContext
使用者情境指標。

otBackboneRouterSetEnabled

void otBackboneRouterSetEnabled(
  otInstance *aInstance,
  bool aEnable
)

啟用或停用 Backbone 功能。

啟用後,如果 Thread 網路資料中沒有 Backbone 路由器服務,就會為連接的裝置觸發伺服器資料要求訊息 SRV_DATA.ntf

如果停用這項設定,且 Backbone 路由器處於「主要」狀態,則系統會觸發 SRV_DATA.ntf

啟用 OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLE 後才能使用。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aEnable
TRUE 以啟用 Backbone 功能,否則為 FALSE。
另請參閱:
otBackboneRouterGetState
otBackboneRouterGetConfig
otBackboneRouterSetConfig
otBackboneRouterRegister

otBackboneRouterSetMulticastListenerCallback

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

設定 Backbone Router Multicast 事件監聽器回呼。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aCallback
指向 Multicast 事件監聽器回呼的指標。
[in] aContext
使用者情境指標。

otBackboneRouterSetNdProxyCallback

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

設定 Backbone Router ND Proxy 回呼。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aCallback
指向 ND Proxy 回呼的指標。
[in] aContext
使用者情境指標。

otBackboneRouterSetRegistrationJitter

void otBackboneRouterSetRegistrationJitter(
  otInstance *aInstance,
  uint8_t aJitter
)

設定 Backbone Router 註冊時基誤差值。

詳細說明
參數
[in] aJitter
設定的 Backbone Router 註冊時基誤差值。
另請參閱:
otBackboneRouterGetRegistrationJitter

巨集

OT_BACKBONE_ROUTER_MULTICAST_LISTENER_ITERATOR_INIT

 OT_BACKBONE_ROUTER_MULTICAST_LISTENER_ITERATOR_INIT 0

otBackboneRouterMulticastListenerIterator 的初始化工具。

資源

OpenThread API 參考資料主題源自原始碼,可於 GitHub 取得。如需更多資訊或為說明文件貢獻心力,請參閱資源