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

ボーダー ルーター

このモジュールには、OpenThread 境界ルーターでローカル ネットワーク データを管理する関数が含まれています。

概要

関数

otBorderRouterAddOnMeshPrefix(otInstance *aInstance, const otBorderRouterConfig *aConfig)
ローカル ネットワーク データに境界ルーター構成を追加します。
otBorderRouterAddRoute(otInstance *aInstance, const otExternalRouteConfig *aConfig)
ローカル ネットワーク データに外部ルート構成を追加します。
otBorderRouterGetNetData(otInstance *aInstance, bool aStable, uint8_t *aData, uint8_t *aDataLength)
このメソッドは、ローカルの Thread ネットワーク データの完全なコピーまたは安定版コピーを提供します。
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)
ローカル ネットワーク データから外部ルート構成を削除します。
otBorderRoutingGetNat64Prefix(otInstance *aInstance, otIp6Prefix *aPrefix)
この関数は、ローカル NAT64 プレフィックスを返します。
otBorderRoutingGetOmrPrefix(otInstance *aInstance, otIp6Prefix *aPrefix)
このメソッドは、オフメッシュ ルーティング(OMR)プレフィックスを返します。
otBorderRoutingGetOnLinkPrefix(otInstance *aInstance, otIp6Prefix *aPrefix)
このメソッドは、隣接するインフラストラクチャ リンクの on-link プレフィックスを返します。
otBorderRoutingInit(otInstance *aInstance, uint32_t aInfraIfIndex, bool aInfraIfIsRunning)
このメソッドは、指定されたインフラストラクチャ インターフェースで Border Routing Manager を初期化します。
otBorderRoutingSetEnabled(otInstance *aInstance, bool aEnabled)
このメソッドは、Border Routing Manager を有効または無効にします。

関数

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
)

このメソッドは、ローカルの Thread ネットワーク データの完全なコピーまたは安定版コピーを提供します。

詳細
パラメータ
[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
次の On Mesh 接頭辞が見つかりました。
OT_ERROR_NOT_FOUND
Thread Network Data に、後続の 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
Border Router のエントリが見つかりませんでした。
関連項目:
otBorderRouterAddOnMeshPrefix
otBorderRouterRegister

otBorderRouterRemoveRoute

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

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

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aPrefix
IPv6 接頭辞へのポインタ。
戻り値
OT_ERROR_NONE
ローカル ネットワーク データから構成を削除しました。
OT_ERROR_NOT_FOUND
Border Router のエントリが見つかりませんでした。
関連情報:
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
Border Routing Manager はまだ初期化されていません。
OT_ERROR_NONE
NAT64 プレフィックスが正常に取得されました。

otBorderRoutingGetOmrPrefix

otError otBorderRoutingGetOmrPrefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

このメソッドは、オフメッシュ ルーティング(OMR)プレフィックスを返します。

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

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

otBorderRoutingGetOnLinkPrefix

otError otBorderRoutingGetOnLinkPrefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

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

有効なリンク上接頭辞がアドバタイズされていない場合、リンク上でランダムに生成された 64 ビット プレフィックスがアドバタイズされます。

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

otBorderRoutingInit(原因不明のルーティング)

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

このメソッドは、指定されたインフラストラクチャ インターフェースで Border Routing Manager を初期化します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aInfraIfIndex
インフラストラクチャ インターフェースのインデックス。
[in] aInfraIfIsRunning
インフラストラクチャ インターフェースが実行中かどうかを示すブール値。
戻り値
OT_ERROR_NONE
指定したインフラストラクチャで Border Routing Manager を正常に開始しました。
OT_ERROR_INVALID_STATE
Border Routing Manager はすでに初期化されています。
OT_ERROR_INVALID_ARGS
インフラストラクチャ インターフェースのインデックスが無効です。
OT_ERROR_FAILED
内部エラー。通常、ランダムな接頭辞の生成に失敗すると発生します。
関連項目:
otPlatInfraIfStateChanged

otBorderRoutingSetEnabled(OTB ルーティング設定の有効化)

otError otBorderRoutingSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

このメソッドは、Border Routing Manager を有効または無効にします。

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

リソース

OpenThread API リファレンスのトピックは、GitHub で入手可能なソースコードに基づいています。 詳細またはドキュメントへの投稿については、リソースをご覧ください。