Google は、黒人コミュニティのための人種的公平の促進に取り組んでいます。詳細をご覧ください。

ボーダールーター

このモジュールには、OpenThread BorderRouterを使用してローカルネットワークデータを管理する機能が含まれています。

概要

関数

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)
この関数は、ローカルネットワークデータの次のオンメッシュプレフィックスを取得します。
otBorderRouterGetNextRoute ( otInstance *aInstance, otNetworkDataIterator *aIterator, otExternalRouteConfig *aConfig)
この関数は、ローカルネットワークデータ内の次の外部ルートを取得します。
otBorderRouterRegister ( otInstance *aInstance)
すぐにローカルネットワークデータをリーダーに登録します。
otBorderRouterRemoveOnMeshPrefix ( otInstance *aInstance, const otIp6Prefix *aPrefix)
ローカルネットワークデータからボーダールーター構成を削除します。
otBorderRouterRemoveRoute ( otInstance *aInstance, const otIp6Prefix *aPrefix)
ローカルネットワークデータから外部ルート構成を削除します。
otBorderRoutingGetOmrPrefix ( otInstance *aInstance, otIp6Prefix *aPrefix)
このメソッドは、off-mesh-routable(OMR)プレフィックスを返します。
otBorderRoutingGetOnLinkPrefix ( otInstance *aInstance, otIp6Prefix *aPrefix)
このメソッドは、隣接するインフラストラクチャリンクのオンリンクプレフィックスを返します。
otBorderRoutingInit ( otInstance *aInstance, uint32_t aInfraIfIndex, bool aInfraIfIsRunning)
このメソッドは、特定のインフラストラクチャインターフェイスでBorder RoutingManagerを初期化します。
otBorderRoutingSetEnabled ( otInstance *aInstance, bool aEnabled)
このメソッドは、Border RoutingManagerを有効/無効にします。

関数

otBorderRouterAddOnMeshPrefix

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

ローカルネットワークデータにボーダールーター構成を追加します。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。
[in] aConfig
ボーダールーター構成へのポインター。
戻り値
OT_ERROR_NONE
構成がローカルネットワークデータに正常に追加されました。
OT_ERROR_INVALID_ARGS
1つ以上の構成パラメーターが無効でした。
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
1つ以上の構成パラメーターが無効でした。
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
)

この関数は、ローカルネットワークデータの次のオンメッシュプレフィックスを取得します。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。
[in,out] aIterator
ネットワークデータイテレータコンテキストへのポインタ。最初のオンメッシュエントリを取得するには、OT_NETWORK_DATA_ITERATOR_INITに設定する必要があります。
[out] aConfig
オンメッシュプレフィックス情報へのポインタ。
戻り値
OT_ERROR_NONE
次のOnMeshプレフィックスが正常に見つかりました。
OT_ERROR_NOT_FOUND
後続のOnMeshプレフィックスはスレッドネットワークデータに存在しません。

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
BorderRouterエントリが見つかりませんでした。
参照:
otBorderRouterAddOnMeshPrefix
otBorderRouterRegister

otBorderRouterRemoveRoute

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

ローカルネットワークデータから外部ルート構成を削除します。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。
[in] aPrefix
IPv6プレフィックスへのポインタ。
戻り値
OT_ERROR_NONE
ローカルネットワークデータから構成を正常に削除しました。
OT_ERROR_NOT_FOUND
BorderRouterエントリが見つかりませんでした。
参照:
otBorderRouterAddRoute
otBorderRouterRegister

otBorderRoutingGetOmrPrefix

otError otBorderRoutingGetOmrPrefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

このメソッドは、off-mesh-routable(OMR)プレフィックスを返します。

ランダムに生成された64ビットプレフィックスは、OMRプレフィックスがまだない場合、スレッドネットワークで公開されます。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。
[out] aPrefix
プレフィックスが出力される場所へのポインタ。
戻り値
OT_ERROR_INVALID_STATE
Border RoutingManagerはまだ初期化されていません。
OT_ERROR_NONE
OMRプレフィックスを正常に取得しました。

otBorderRoutingGetOnLinkPrefix

otError otBorderRoutingGetOnLinkPrefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

このメソッドは、隣接するインフラストラクチャリンクのオンリンクプレフィックスを返します。

ランダムに生成された64ビットプレフィックスは、リンクでアドバタイズされている使用可能なオンリンクプレフィックスがまだない場合、インフラストラクチャリンクでアドバタイズされます。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。
[out] aPrefix
プレフィックスが出力される場所へのポインタ。
戻り値
OT_ERROR_INVALID_STATE
Border RoutingManagerはまだ初期化されていません。
OT_ERROR_NONE
オンリンクプレフィックスを正常に取得しました。

otBorderRoutingInit

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

このメソッドは、特定のインフラストラクチャインターフェイスでBorder RoutingManagerを初期化します。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。
[in] aInfraIfIndex
インフラストラクチャインターフェイスインデックス。
[in] aInfraIfIsRunning
インフラストラクチャインターフェイスが実行されているかどうかを示すブール値。
戻り値
OT_ERROR_NONE
特定のインフラストラクチャでBorderRoutingManagerを正常に起動しました。
OT_ERROR_INVALID_STATE
Border RoutingManagerはすでに初期化されています。
OT_ERROR_INVALID_ARGS
インフラストラクチャインターフェイスのインデックスが無効です。
OT_ERROR_FAILED
内部障害。通常、ランダムなプレフィックスの生成に失敗したことが原因です。
参照:
otPlatInfraIfStateChanged

otBorderRoutingSetEnabled

otError otBorderRoutingSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

このメソッドは、Border RoutingManagerを有効/無効にします。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。
[in] aEnabled
ルーティングマネージャーを有効/無効にするブール値。
戻り値
OT_ERROR_INVALID_STATE
Border RoutingManagerはまだ初期化されていません。
OT_ERROR_NONE
Border RoutingManagerを正常に有効化/無効化しました。