Google is committed to advancing racial equity for Black communities. See how.
本頁面由 Cloud Translation API 翻譯而成。
Switch to English

邊界路由器

該模塊包括使用OpenThread Border Router管理本地網絡數據的功能。

概要

職能

otBorderRouterAddOnMeshPrefix ( otInstance *aInstance, const otBorderRouterConfig *aConfig)
將邊界路由器配置添加到本地網絡數據。
otBorderRouterAddRoute ( otInstance *aInstance, const otExternalRouteConfig *aConfig)
將外部路由配置添加到本地網絡數據。
otBorderRouterGetNetData ( otInstance *aInstance, bool aStable, uint8_t *aData, uint8_t *aDataLength)
此方法提供了本地線程網絡數據的完整副本或穩定副本。
otBorderRouterGetNextOnMeshPrefix ( otInstance *aInstance, otNetworkDataIterator *aIterator, otBorderRouterConfig *aConfig)
此功能獲取本地網絡數據中的下一個On Mesh Prefix。
otBorderRouterGetNextRoute ( otInstance *aInstance, otNetworkDataIterator *aIterator, otExternalRouteConfig *aConfig)
此功能獲取本地網絡數據中的下一個外部路由。
otBorderRouterRegister ( otInstance *aInstance)
立即向領導者註冊本地網絡數據。
otBorderRouterRemoveOnMeshPrefix ( otInstance *aInstance, const otIp6Prefix *aPrefix)
從本地網絡數據中刪除邊界路由器配置。
otBorderRouterRemoveRoute ( otInstance *aInstance, const otIp6Prefix *aPrefix)
從本地網絡數據中刪除外部路由配置。
otBorderRoutingInit ( otInstance *aInstance, uint32_t aInfraIfIndex)
此方法在給定的基礎結構接口上初始化邊界路由管理器。
otBorderRoutingSetEnabled ( otInstance *aInstance, bool aEnabled)
此方法啟用/禁用邊界路由管理器。

職能

otBorderRouterAddOnMeshPrefix

otError otBorderRouterAddOnMeshPrefix(
  otInstance *aInstance,
  const otBorderRouterConfig *aConfig
)

將邊界路由器配置添加到本地網絡數據。

細節
參量
[in] aInstance
指向OpenThread實例的指針。
[in] aConfig
指向邊界路由器配置的指針。
返回值
OT_ERROR_NONE
已成功將配置添加到本地網絡數據。
OT_ERROR_INVALID_ARGS
一個或多個配置參數無效。
OT_ERROR_NO_BUFS
沒有足夠的空間來將配置添加到本地網絡數據。
也可以看看:
otBorderRouterRemoveOnMeshPrefix
otBorderRouterRegister

otBorderRouterAddRoute

otError otBorderRouterAddRoute(
  otInstance *aInstance,
  const otExternalRouteConfig *aConfig
)

將外部路由配置添加到本地網絡數據。

細節
參量
[in] aInstance
指向OpenThread實例的指針。
[in] aConfig
指向外部路由配置的指針。
返回值
OT_ERROR_NONE
已成功將配置添加到本地網絡數據。
OT_ERROR_INVALID_ARGS
一個或多個配置參數無效。
OT_ERROR_NO_BUFS
沒有足夠的空間來將配置添加到本地網絡數據。
也可以看看:
otBorderRouterRemoveRoute
otBorderRouterRegister

otBorderRouterGetNetData

otError otBorderRouterGetNetData(
  otInstance *aInstance,
  bool aStable,
  uint8_t *aData,
  uint8_t *aDataLength
)

此方法提供了本地線程網絡數據的完整副本或穩定副本。

細節
參量
[in] aInstance
指向OpenThread實例的指針。
[in] aStable
複製穩定版本時為TRUE,複製完整版本時為FALSE。
[out] aData
指向數據緩衝區的指針。
[in,out] aDataLength
輸入時, aData指向的數據緩衝區的大小。退出時,複製的字節數。

otBorderRouterGetNextOnMeshPrefix

otError otBorderRouterGetNextOnMeshPrefix(
  otInstance *aInstance,
  otNetworkDataIterator *aIterator,
  otBorderRouterConfig *aConfig
)

此功能獲取本地網絡數據中的下一個On Mesh Prefix。

細節
參量
[in] aInstance
指向OpenThread實例的指針。
[in,out] aIterator
指向網絡數據迭代器上下文的指針。要獲得第一個網格輸入,應將其設置為OT_NETWORK_DATA_ITERATOR_INIT。
[out] aConfig
指向On Mesh Prefix信息的指針。
返回值
OT_ERROR_NONE
成功找到下一個On Mesh前綴。
OT_ERROR_NOT_FOUND
線程網絡數據中不存在後續的On Mesh前綴。

otBorderRouterGetNextRoute

otError otBorderRouterGetNextRoute(
  otInstance *aInstance,
  otNetworkDataIterator *aIterator,
  otExternalRouteConfig *aConfig
)

此功能獲取本地網絡數據中的下一個外部路由。

細節
參量
[in] aInstance
指向OpenThread實例的指針。
[in,out] aIterator
指向網絡數據迭代器上下文的指針。要獲取第一個外部路由條目,應將其設置為OT_NETWORK_DATA_ITERATOR_INIT。
[out] aConfig
指向外部路由信息的指針。
返回值
OT_ERROR_NONE
成功找到下一條外部路線。
OT_ERROR_NOT_FOUND
線程網絡數據中不存在後續的外部路由條目。

otBorderRouterRegister

otError otBorderRouterRegister(
  otInstance *aInstance
)

立即向領導者註冊本地網絡數據。

細節
參量
[in] aInstance
指向OpenThread實例的指針。
返回值
OT_ERROR_NONE
成功將服務器數據請求消息排隊以進行傳遞。
也可以看看:
otBorderRouterAddOnMeshPrefix
otBorderRouterRemoveOnMeshPrefix
otBorderRouterAddRoute
otBorderRouterRemoveRoute

otBorderRouterRemoveOnMeshPrefix

otError otBorderRouterRemoveOnMeshPrefix(
  otInstance *aInstance,
  const otIp6Prefix *aPrefix
)

從本地網絡數據中刪除邊界路由器配置。

細節
參量
[in] aInstance
指向OpenThread實例的指針。
[in] aPrefix
指向IPv6前綴的指針。
返回值
OT_ERROR_NONE
從本地網絡數據中成功刪除配置。
OT_ERROR_NOT_FOUND
找不到邊界路由器條目。
也可以看看:
otBorderRouterAddOnMeshPrefix
otBorderRouterRegister

otBorderRouterRemoveRoute

otError otBorderRouterRemoveRoute(
  otInstance *aInstance,
  const otIp6Prefix *aPrefix
)

從本地網絡數據中刪除外部路由配置。

細節
參量
[in] aInstance
指向OpenThread實例的指針。
[in] aPrefix
指向IPv6前綴的指針。
返回值
OT_ERROR_NONE
從本地網絡數據中成功刪除配置。
OT_ERROR_NOT_FOUND
找不到邊界路由器條目。
也可以看看:
otBorderRouterAddRoute
otBorderRouterRegister

otBorderRoutingInit

otError otBorderRoutingInit(
  otInstance *aInstance,
  uint32_t aInfraIfIndex
)

此方法在給定的基礎結構接口上初始化邊界路由管理器。

細節
參量
[in] aInstance
指向OpenThread實例的指針。
[in] aInfraIfIndex
基礎結構接口索引。
返回值
OT_ERROR_NONE
在給定的基礎架構上成功啟動了邊界路由管理器。
OT_ERROR_INVALID_ARGS
紅外線接口的索引無效。
OT_ERROR_FAILED
內部故障。這通常無法生成隨機前綴。

otBorderRoutingSetEnabled

otError otBorderRoutingSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

此方法啟用/禁用邊界路由管理器。

細節
參量
[in] aInstance
指向OpenThread實例的指針。
[in] aEnabled
啟用/禁用路由管理器的布爾值。
返回值
OT_ERROR_INVALID_STATE
邊界路由管理器尚未初始化。
OT_ERROR_NONE
成功啟用/禁用邊界路由管理器。