邊界路由器

這個模組包含的函式可使用 OpenThread 邊界路由器來管理本機網路資料。

摘要

函式

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 前置字串。
otBorderRouterGetNextRoute(otInstance *aInstance, otNetworkDataIterator *aIterator, otExternalRouteConfig *aConfig)
這個函式會取得本機網路資料中的下一個外部路徑。
otBorderRouterRegister(otInstance *aInstance)
立即向領導人註冊區域網路資料。
otBorderRouterRemoveOnMeshPrefix(otInstance *aInstance, const otIp6Prefix *aPrefix)
移除區域網路資料的邊界路由器設定。
otBorderRouterRemoveRoute(otInstance *aInstance, const otIp6Prefix *aPrefix)
移除區域網路資料中的外部路徑設定。
otBorderRoutingGetNat64Prefix(otInstance *aInstance, otIp6Prefix *aPrefix)
這個函式會傳回本機 NAT64 前置字串。
otBorderRoutingGetOmrPrefix(otInstance *aInstance, otIp6Prefix *aPrefix)
這個方法會傳回「停用中 (OMR)」前置字串。
otBorderRoutingGetOnLinkPrefix(otInstance *aInstance, otIp6Prefix *aPrefix)
這個方法會傳回鄰近基礎架構連結的連結連結前置字串。
otBorderRoutingInit(otInstance *aInstance, uint32_t aInfraIfIndex, bool aInfraIfIsRunning)
這個方法會在指定基礎架構介面中初始化邊界轉送管理員。
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 前置字串。

說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in,out] aIterator
指向網路資料疊代器結構定義的指標。如要取得第一個網格項目,請設為 OT_NETWORK_DATA_ITERATOR_INIT。
[out] aConfig
指向「網格」前置字串資訊的指標。
傳回值
OT_ERROR_NONE
已成功找到下一個 On Mesh 前置字串。
OT_ERROR_NOT_FOUND
執行緒網路資料中沒有後續的「網狀網路」前置字串。

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

otBorderRouterRemoveOnshshPrefix

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

otBorderRoutingGetNat64Prefix

otError otBorderRoutingGetNat64Prefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

這個函式會傳回本機 NAT64 前置字串。

這個前置字串可能無法在 Thread 網路中通告。

這項功能僅適用於 OPENTHREAD_CONFIG_BORDER_ROUTING_NAT64_ENABLE

說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[out] aPrefix
指向前置字串的指向點。
傳回值
OT_ERROR_INVALID_STATE
邊界轉送管理員尚未初始化。
OT_ERROR_NONE
已成功擷取 NAT64 前置字串。

otBorderRoutingGetOmrPrefix

otError otBorderRoutingGetOmrPrefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

這個方法會傳回「停用中 (OMR)」前置字串。

如果尚未產生 OMR 前置字串,系統會隨機產生 64 位元的前置字串。

說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[out] aPrefix
指向前置字串的指向點。
傳回值
OT_ERROR_INVALID_STATE
邊界轉送管理員尚未初始化。
OT_ERROR_NONE
已成功擷取 OMR 前置字串。

otBorderRoutingGetOnLinkPrefix

otError otBorderRoutingGetOnLinkPrefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

這個方法會傳回鄰近基礎架構連結的連結連結前置字串。

如果連結的連結尚未使用可隨機使用的 64 位元前置字串,則系統會在基礎架構連結上進行隨機產生。

說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[out] aPrefix
指向前置字串的指向點。
傳回值
OT_ERROR_INVALID_STATE
邊界轉送管理員尚未初始化。
OT_ERROR_NONE
已成功擷取連結前置字串。

otBorderRoutingInit

otError otBorderRoutingInit(
  otInstance *aInstance,
  uint32_t aInfraIfIndex,
  bool aInfraIfIsRunning
)

這個方法會在指定基礎架構介面中初始化邊界轉送管理員。

說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aInfraIfIndex
基礎架構介面索引。
[in] aInfraIfIsRunning
布林值,表示基礎架構介面是否正在執行。
傳回值
OT_ERROR_NONE
已成功啟動指定基礎架構的邊界轉送管理員。
OT_ERROR_INVALID_STATE
邊界轉送管理員已初始化。
OT_ERROR_INVALID_ARGS
基礎架構介面的索引無效。
OT_ERROR_FAILED
發生內部錯誤, 通常是因為系統產生隨機前置字元失敗。
另請參閱:
otPlatInfraIfStateChanged

otBorderRoutingSetEnabled

otError otBorderRoutingSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

這個方法可啟用/停用邊界轉送管理員。

說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aEnabled
啟用/停用轉送管理員的布林值。
傳回值
OT_ERROR_INVALID_STATE
邊界轉送管理員尚未初始化。
OT_ERROR_NONE
已成功啟用/停用邊界轉送管理員。

資源

OpenThread API 參照主題來自原始碼,位於 GitHub。 如需更多資訊或參閱我們的說明文件,請參閱資源