メッシュ診断
このモジュールには、Mesh Diagnostics の定義と関数が含まれています。
概要
Mesh Diagnostics API には OPENTHREAD_CONFIG_MESH_DIAG_ENABLE
と OPENTHREAD_FTD
が必要です。
Typedef |
|
---|---|
otMeshDiagChildEntry
|
typedefstruct otMeshDiagChildEntry
otMeshDiagQueryChildTable() の子エントリに関する情報を表します。 |
otMeshDiagChildInfo
|
typedefstruct otMeshDiagChildInfo
otMeshDiagDiscoverTopology() を使用して Thread メッシュで検出された子に関する情報を表します。 |
otMeshDiagChildIp6AddrsCallback)(otError aError, uint16_t aChildRloc16, otMeshDiagIp6AddrIterator *aIp6AddrIterator, void *aContext)
|
typedefvoid(*
MTD の子とその IPv6 アドレスのリストに関する情報を提供するために otMeshDiagQueryChildrenIp6Addrs() が使用するコールバックを表します。 |
otMeshDiagChildIterator
|
typedefstruct otMeshDiagChildIterator
ルーターの子のリストを反復処理する不透明なイテレータです。 |
otMeshDiagDiscoverCallback)(otError aError, otMeshDiagRouterInfo *aRouterInfo, void *aContext)
|
typedefvoid(*
ポインタの型は、検出されたルーターに関する情報を提供するために otMeshDiagDiscoverTopology() が使用するコールバックを表します。 |
otMeshDiagDiscoverConfig
|
typedefstruct otMeshDiagDiscoverConfig
検出対象のアイテムを示すメッシュ トポロジを検出するときに使用する構成のセットを表します。 |
otMeshDiagIp6AddrIterator
|
typedefstruct otMeshDiagIp6AddrIterator
ルーターの IPv6 アドレスのリストを反復処理する不透明イテレータ。 |
otMeshDiagQueryChildTableCallback)(otError aError, const otMeshDiagChildEntry *aChildEntry, void *aContext)
|
typedefvoid(*
子テーブルのエントリに関する情報を提供するために otMeshDiagQueryChildTable() が使用するコールバックを表します。 |
otMeshDiagQueryRouterNeighborTableCallback)(otError aError, const otMeshDiagRouterNeighborEntry *aNeighborEntry, void *aContext)
|
typedefvoid(*
ネイバー ルーター テーブルのエントリに関する情報を提供するために otMeshDiagQueryRouterNeighborTable() が使用するコールバックを表します。 |
otMeshDiagRouterInfo
|
typedefstruct otMeshDiagRouterInfo
otMeshDiagDiscoverTopology() を使用して検出された Thread メッシュのルーターに関する情報を表します。 |
otMeshDiagRouterNeighborEntry
|
typedefotMeshDiagQueryRouterNeighborTable() からのルーター ネイバーのエントリに関する情報を表します。 |
関数 |
|
---|---|
otMeshDiagCancel(otInstance *aInstance)
|
void
進行中のトポロジ検出がある場合はキャンセルします。それ以外の場合はアクションはありません。
|
otMeshDiagDiscoverTopology(otInstance *aInstance, const otMeshDiagDiscoverConfig *aConfig, otMeshDiagDiscoverCallback aCallback, void *aContext)
|
ネットワーク トポロジの検出を開始します。
|
otMeshDiagGetNextChildInfo(otMeshDiagChildIterator *aIterator, otMeshDiagChildInfo *aChildInfo)
|
ルーターで検出された子を反復処理します。
|
otMeshDiagGetNextIp6Address(otMeshDiagIp6AddrIterator *aIterator, otIp6Address *aIp6Address)
|
ルーターまたは MTD の子で検出された IPv6 アドレスを反復処理します。
|
otMeshDiagQueryChildTable(otInstance *aInstance, uint16_t aRloc16, otMeshDiagQueryChildTableCallback aCallback, void *aContext)
|
指定されたルーターの子テーブルのクエリを開始します。
|
otMeshDiagQueryChildrenIp6Addrs(otInstance *aInstance, uint16_t aRloc16, otMeshDiagChildIp6AddrsCallback aCallback, void *aContext)
|
親にクエリを送信し、すべての MTD の子の IPv6 アドレスを取得します。
|
otMeshDiagQueryRouterNeighborTable(otInstance *aInstance, uint16_t aRloc16, otMeshDiagQueryRouterNeighborTableCallback aCallback, void *aContext)
|
指定されたルーターのルーター ネイバー テーブルのクエリを開始します。
|
構造体 |
|
---|---|
otMeshDiagChildEntry |
|
otMeshDiagChildInfo |
|
otMeshDiagDiscoverConfig |
検出対象のアイテムを示すメッシュ トポロジを検出するときに使用する構成のセットを表します。 |
otMeshDiagRouterInfo |
|
otMeshDiagRouterNeighborEntry |
|
Typedef
otMeshDiagChildEntry
struct otMeshDiagChildEntry otMeshDiagChildEntry
otMeshDiagQueryChildTable()
の子エントリに関する情報を表します。
mSupportsErrRate
は、エラー トラッキング機能がサポートされているかどうか、および mFrameErrorRate
と mMessageErrorRate
の値が有効かどうかを示します。フレームレートは MAC レイヤでフレーム送信エラー(子に向かう)を追跡し、mMessageErrorRate
は IPv6 メッセージがドロップされたときの IPv6 メッセージ エラー率(MAC レイヤの上および MAC 再試行後)を追跡します。たとえば、メッセージのサイズが大きく、6LoWPAN の断片化が必要な場合、メッセージ tx のフラグメント フレーム tx の 1 つが失敗した(例: 確認応答されていない)と、メッセージ tx は失敗したと見なされます。
otMeshDiagChildInfo
struct otMeshDiagChildInfo otMeshDiagChildInfo
otMeshDiagDiscoverTopology()
を使用して Thread メッシュで検出された子に関する情報を表します。
otMeshDiagChildIp6AddrsCallback
void(* otMeshDiagChildIp6AddrsCallback)(otError aError, uint16_t aChildRloc16, otMeshDiagIp6AddrIterator *aIp6AddrIterator, void *aContext)
MTD の子とその IPv6 アドレスのリストに関する情報を提供するために otMeshDiagQueryChildrenIp6Addrs()
が使用するコールバックを表します。
aError
が OT_ERROR_PENDING
の場合は、さらに子があることを示し、コールバックが再度呼び出されます。
詳細 | |||||||||
---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
otMeshDiagChildIterator
struct otMeshDiagChildIterator otMeshDiagChildIterator
ルーターの子のリストを反復処理する不透明なイテレータです。
この型のインスタンスへのポインタは、otMeshDiagRouterInfo
で提供されます。
otMeshDiagDiscoverCallback
void(* otMeshDiagDiscoverCallback)(otError aError, otMeshDiagRouterInfo *aRouterInfo, void *aContext)
ポインタの型は、検出されたルーターに関する情報を提供するために otMeshDiagDiscoverTopology()
が使用するコールバックを表します。
aError
が OT_ERROR_PENDING
の場合、検出はまだ完了しておらず、検出するルーターがさらに増え、コールバックが再度呼び出されることを示します。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
otMeshDiagDiscoverConfig
struct otMeshDiagDiscoverConfig otMeshDiagDiscoverConfig
検出対象のアイテムを示すメッシュ トポロジを検出するときに使用する構成のセットを表します。
otMeshDiagIp6AddrIterator
struct otMeshDiagIp6AddrIterator otMeshDiagIp6AddrIterator
ルーターの IPv6 アドレスのリストを反復処理する不透明イテレータ。
この型のインスタンスへのポインタは、otMeshDiagRouterInfo
で提供されます。
otMeshDiagQueryChildTableCallback
void(* otMeshDiagQueryChildTableCallback)(otError aError, const otMeshDiagChildEntry *aChildEntry, void *aContext)
子テーブルのエントリに関する情報を提供するために otMeshDiagQueryChildTable()
が使用するコールバックを表します。
aError
が OT_ERROR_PENDING
の場合は、テーブルにまだエントリがあり、コールバックが再度呼び出されることを示します。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
otMeshDiagQueryRouterNeighborTableCallback
void(* otMeshDiagQueryRouterNeighborTableCallback)(otError aError, const otMeshDiagRouterNeighborEntry *aNeighborEntry, void *aContext)
ネイバー ルーター テーブルのエントリに関する情報を提供するために otMeshDiagQueryRouterNeighborTable()
が使用するコールバックを表します。
aError
が OT_ERROR_PENDING
の場合は、テーブルにまだエントリがあり、コールバックが再度呼び出されることを示します。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
otMeshDiagRouterInfo
struct otMeshDiagRouterInfo otMeshDiagRouterInfo
otMeshDiagDiscoverTopology()
を使用して検出された Thread メッシュのルーターに関する情報を表します。
otMeshDiagRouterNeighborEntry
struct otMeshDiagRouterNeighborEntry otMeshDiagRouterNeighborEntry
otMeshDiagQueryRouterNeighborTable()
からのルーター ネイバーのエントリに関する情報を表します。
mSupportsErrRate
は、エラー トラッキング機能がサポートされているかどうか、および mFrameErrorRate
と mMessageErrorRate
の値が有効かどうかを示します。フレームレートは MAC レイヤでフレーム送信エラー(子に向かう)を追跡し、mMessageErrorRate
は IPv6 メッセージがドロップされたときの IPv6 メッセージ エラー率(MAC レイヤの上および MAC 再試行後)を追跡します。たとえば、メッセージのサイズが大きく、6LoWPAN の断片化が必要な場合、メッセージ tx のフラグメント フレーム tx の 1 つが失敗した(例: 確認応答されていない)と、メッセージ tx は失敗したと見なされます。
関数
otMeshDiagCancel
void otMeshDiagCancel( otInstance *aInstance )
進行中のトポロジ検出がある場合はキャンセルします。それ以外の場合はアクションはありません。
進行中の検出がキャンセルされると、otMeshDiagDiscoverTopology()
からのコールバックは呼び出されなくなります。
otMeshDiagDiscoverTopology
otError otMeshDiagDiscoverTopology( otInstance *aInstance, const otMeshDiagDiscoverConfig *aConfig, otMeshDiagDiscoverCallback aCallback, void *aContext )
ネットワーク トポロジの検出を開始します。
詳細 | |||||||||
---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||
戻り値 |
|
otMeshDiagGetNextChildInfo
otError otMeshDiagGetNextChildInfo( otMeshDiagChildIterator *aIterator, otMeshDiagChildInfo *aChildInfo )
ルーターで検出された子を反復処理します。
この関数はコールバック otMeshDiagDiscoverCallback()
から使用し、コールバックへの入力として提供される aRouterInfo
構造体の mChildIterator
を使用しなければなりません。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
|
otMeshDiagGetNextIp6Address
otError otMeshDiagGetNextIp6Address( otMeshDiagIp6AddrIterator *aIterator, otIp6Address *aIp6Address )
ルーターまたは MTD の子で検出された IPv6 アドレスを反復処理します。
使用する必要があります
- コールバック
otMeshDiagDiscoverCallback()
から取得し、コールバックへの入力として提供されているaRouterInfo
構造体のmIp6AddrIterator
を使用します。 - 指定された
aIp6AddrIterator
とともにコールバックotMeshDiagChildIp6AddrsCallback()
から受け取ります。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
|
otMeshDiagQueryChildTable
otError otMeshDiagQueryChildTable( otInstance *aInstance, uint16_t aRloc16, otMeshDiagQueryChildTableCallback aCallback, void *aContext )
指定されたルーターの子テーブルのクエリを開始します。
詳細 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||||
戻り値 |
|
otMeshDiagQueryChildrenIp6Addrs
otError otMeshDiagQueryChildrenIp6Addrs( otInstance *aInstance, uint16_t aRloc16, otMeshDiagChildIp6AddrsCallback aCallback, void *aContext )
親にクエリを送信し、すべての MTD の子の IPv6 アドレスを取得します。
詳細 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||||
戻り値 |
|
otMeshDiagQueryRouterNeighborTable
otError otMeshDiagQueryRouterNeighborTable( otInstance *aInstance, uint16_t aRloc16, otMeshDiagQueryRouterNeighborTableCallback aCallback, void *aContext )
指定されたルーターのルーター ネイバー テーブルのクエリを開始します。
詳細 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||||
戻り値 |
|
マクロ
OT_MESH_DIAG_VERSION_UNKNOWN
OT_MESH_DIAG_VERSION_UNKNOWN 0xffff
スレッド バージョンが不明であることを指定します。
デバイスからバージョンが提供されていない場合に、mVersion
プロパティの otMeshDiagRouterInfo
で使用されます。これは、デバイスが 1.3.0(バージョン値 4)以前を搭載している可能性が高いことを示します。
関連情報
OpenThread API リファレンスのトピックは、GitHub で入手できるソースコードに由来しています。 詳細について、またはドキュメントへの投稿については、リソースをご覧ください。