ボーダー ルーター

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

まとめ

Typedef

otBorderRouterNetDataFullCallback)(void *aContext) typedef
void(*
ネットワーク データ(ローカルまたはリーダー)がいっぱいになったときに呼び出される関数ポインタのコールバック。

関数

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)
ローカル ネットワーク データから外部ルート構成を削除します。
otBorderRouterSetNetDataFullCallback(otInstance *aInstance, otBorderRouterNetDataFullCallback aCallback, void *aContext)
void
ネットワーク データがいっぱいになったときに返すコールバックを設定します。

Typedef

otBorderRouterNetDataFullCallback

void(* otBorderRouterNetDataFullCallback)(void *aContext)

ネットワーク データ(ローカルまたはリーダー)がいっぱいになったときに呼び出される関数ポインタのコールバック。

詳細
パラメータ
[in] aContext
任意のコンテキスト情報へのポインタ。

関数

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 ネットワーク データに後続の 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
Thread ネットワーク データに後続の外部ルートエントリが存在しません。

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

otBorderRouterSetNetDataFullCallback

void otBorderRouterSetNetDataFullCallback(
  otInstance *aInstance,
  otBorderRouterNetDataFullCallback aCallback,
  void *aContext
)

ネットワーク データがいっぱいになったときに返すコールバックを設定します。

OPENTHREAD_CONFIG_BORDER_ROUTER_SIGNAL_NETWORK_DATA_FULL が必要です。

コールバックは次の場合に呼び出されます。

  • デバイスがリーダーとして機能し、ネットワーク データに追加できないネットワーク データ登録をボーダー ルーター(BR)から受け取る(空き容量不足)。
  • デバイスが BR として使用されているため、ローカル ネットワーク データに新しいエントリを追加できない。
  • デバイスは BR として機能し、ローカル ネットワーク データ エントリをリーダーに登録しようとしますが、ローカル エントリが収まらないと判断しました。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aCallback
コールバック
[in] aContext
aCallback で使用される任意のコンテキスト情報へのポインタ。

関連情報

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