Mesh-Diagnose
Dieses Modul enthält Definitionen und Funktionen für die Mesh-Netzwerkdiagnose.
Zusammenfassung
Für die Mesh-Diagnose-APIs sind OPENTHREAD_CONFIG_MESH_DIAG_ENABLE
und OPENTHREAD_FTD
erforderlich.
Typedefs |
|
---|---|
otMeshDiagChildEntry
|
typedefstruct otMeshDiagChildEntry
Informationen zu einem untergeordneten Eintrag aus otMeshDiagQueryChildTable() . |
otMeshDiagChildInfo
|
typedefstruct otMeshDiagChildInfo
Informationen zu einem erkannten untergeordneten Element im Thread-Mesh-Netzwerk mithilfe von otMeshDiagDiscoverTopology() . |
otMeshDiagChildIp6AddrsCallback)(otError aError, uint16_t aChildRloc16, otMeshDiagIp6AddrIterator *aIp6AddrIterator, void *aContext)
|
typedefvoid(*
Stellt den Callback dar, der von otMeshDiagQueryChildrenIp6Addrs() verwendet wird, um Informationen über ein untergeordnetes MTD und dessen Liste von IPv6-Adressen bereitzustellen. |
otMeshDiagChildIterator
|
typedefstruct otMeshDiagChildIterator
Ein intransparenter Iteration, um die Liste der untergeordneten Elemente eines Routers zu durchlaufen. |
otMeshDiagDiscoverCallback)(otError aError, otMeshDiagRouterInfo *aRouterInfo, void *aContext)
|
typedefvoid(*
Der Zeigertyp steht für den Callback, über den otMeshDiagDiscoverTopology() Informationen zu einem erkannten Router liefert. |
otMeshDiagDiscoverConfig
|
typedefstruct otMeshDiagDiscoverConfig
Stellt die Konfigurationen dar, die beim Erkennen der Mesh-Netzwerktopologie verwendet werden und angeben, welche Elemente erkannt werden sollen. |
otMeshDiagIp6AddrIterator
|
typedefstruct otMeshDiagIp6AddrIterator
Ein intransparenter Iteration, um die Liste von IPv6-Adressen eines Routers zu durchlaufen. |
otMeshDiagQueryChildTableCallback)(otError aError, const otMeshDiagChildEntry *aChildEntry, void *aContext)
|
typedefvoid(*
Stellt den Callback dar, der von otMeshDiagQueryChildTable() verwendet wird, um Informationen zu untergeordneten Tabelleneinträgen bereitzustellen. |
otMeshDiagQueryRouterNeighborTableCallback)(otError aError, const otMeshDiagRouterNeighborEntry *aNeighborEntry, void *aContext)
|
typedefvoid(*
Stellt den Callback dar, der von otMeshDiagQueryRouterNeighborTable() verwendet wird, um Informationen über benachbarte Router-Tabelleneinträge bereitzustellen. |
otMeshDiagRouterInfo
|
typedefstruct otMeshDiagRouterInfo
Informationen zu einem Router im Thread-Mesh-Netzwerk, der mit otMeshDiagDiscoverTopology() erkannt wurde. |
otMeshDiagRouterNeighborEntry
|
typedef Informationen zu einem Routernachbareintrag aus otMeshDiagQueryRouterNeighborTable() . |
Funktionen |
|
---|---|
otMeshDiagCancel(otInstance *aInstance)
|
void
Bricht eine laufende Topologieerkennung ab, falls eine vorhanden ist. Andernfalls wird keine Aktion ausgeführt.
|
otMeshDiagDiscoverTopology(otInstance *aInstance, const otMeshDiagDiscoverConfig *aConfig, otMeshDiagDiscoverCallback aCallback, void *aContext)
|
Startet die Erkennung der Netzwerktopologie.
|
otMeshDiagGetNextChildInfo(otMeshDiagChildIterator *aIterator, otMeshDiagChildInfo *aChildInfo)
|
Durchläuft die erkannten untergeordneten Elemente eines Routers.
|
otMeshDiagGetNextIp6Address(otMeshDiagIp6AddrIterator *aIterator, otIp6Address *aIp6Address)
|
Durchläuft die erkannten IPv6-Adressen eines Routers oder untergeordneten MTD.
|
otMeshDiagQueryChildTable(otInstance *aInstance, uint16_t aRloc16, otMeshDiagQueryChildTableCallback aCallback, void *aContext)
|
Startet die Abfrage einer untergeordneten Tabelle für einen bestimmten Router.
|
otMeshDiagQueryChildrenIp6Addrs(otInstance *aInstance, uint16_t aRloc16, otMeshDiagChildIp6AddrsCallback aCallback, void *aContext)
|
Sendet eine Abfrage an ein übergeordnetes Element, um die IPv6-Adressen aller untergeordneten MTD-Objekte abzurufen.
|
otMeshDiagQueryRouterNeighborTable(otInstance *aInstance, uint16_t aRloc16, otMeshDiagQueryRouterNeighborTableCallback aCallback, void *aContext)
|
Startet die Abfrage der Router-Nachbartabelle für einen bestimmten Router.
|
Strukturen |
|
---|---|
otMeshDiagChildEntry |
Informationen zu einem untergeordneten Eintrag aus |
otMeshDiagChildInfo |
Informationen zu einem erkannten untergeordneten Element im Thread-Mesh-Netzwerk mithilfe von |
otMeshDiagDiscoverConfig |
Stellt die Konfigurationen dar, die beim Erkennen der Mesh-Netzwerktopologie verwendet werden und angeben, welche Elemente erkannt werden sollen. |
otMeshDiagRouterInfo |
Informationen zu einem Router im Thread-Mesh-Netzwerk, der mit |
otMeshDiagRouterNeighborEntry |
Informationen zu einem Routernachbareintrag aus |
Typedefs
otMeshDiagChildEntry
struct otMeshDiagChildEntry otMeshDiagChildEntry
Informationen zu einem untergeordneten Eintrag aus otMeshDiagQueryChildTable()
.
mSupportsErrRate
gibt an, ob die Fehlerverfolgungsfunktion unterstützt wird, und die Werte mFrameErrorRate
und mMessageErrorRate
sind gültig. Die Frame-Fehlerrate erfasst Frame-Tx-Fehler (in Richtung des untergeordneten Elements) auf der MAC-Ebene, während mMessageErrorRate
die Fehlerrate der IPv6-Nachrichten (über der MAC-Ebene und nach MAC-Wiederholungen) erfasst, wenn eine IPv6-Nachricht gelöscht wird. Wenn die Nachricht beispielsweise groß ist und eine 6LoWPAN-Fragmentierung erfordert, gilt die Nachricht tx als fehlgeschlagen, wenn einer ihrer Fragment-Frames tx fehlschlägt (z. B. nie bestätigt).
otMeshDiagChildInfo
struct otMeshDiagChildInfo otMeshDiagChildInfo
Informationen zu einem erkannten untergeordneten Element im Thread-Mesh-Netzwerk mithilfe von otMeshDiagDiscoverTopology()
.
otMeshDiagChildIp6AddrsCallback
void(* otMeshDiagChildIp6AddrsCallback)(otError aError, uint16_t aChildRloc16, otMeshDiagIp6AddrIterator *aIp6AddrIterator, void *aContext)
Stellt den Callback dar, der von otMeshDiagQueryChildrenIp6Addrs()
verwendet wird, um Informationen über ein untergeordnetes MTD und dessen Liste von IPv6-Adressen bereitzustellen.
Wenn aError
den Wert OT_ERROR_PENDING
hat, bedeutet das, dass es weitere untergeordnete Elemente gibt und der Callback noch einmal aufgerufen wird.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
otMeshDiagChildIterator
struct otMeshDiagChildIterator otMeshDiagChildIterator
Ein intransparenter Iteration, um die Liste der untergeordneten Elemente eines Routers zu durchlaufen.
Zeiger auf eine Instanz dieses Typs werden in otMeshDiagRouterInfo
bereitgestellt.
otMeshDiagDiscoverCallback
void(* otMeshDiagDiscoverCallback)(otError aError, otMeshDiagRouterInfo *aRouterInfo, void *aContext)
Der Zeigertyp steht für den Callback, über den otMeshDiagDiscoverTopology()
Informationen zu einem erkannten Router liefert.
Wenn aError
den Wert OT_ERROR_PENDING
hat, bedeutet das, dass die Erkennung noch nicht abgeschlossen ist und dass weitere Router erkannt werden müssen und der Callback noch einmal aufgerufen wird.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
otMeshDiagDiscoverConfig
struct otMeshDiagDiscoverConfig otMeshDiagDiscoverConfig
Stellt die Konfigurationen dar, die beim Erkennen der Mesh-Netzwerktopologie verwendet werden und angeben, welche Elemente erkannt werden sollen.
otMeshDiagIp6AddrIterator
struct otMeshDiagIp6AddrIterator otMeshDiagIp6AddrIterator
Ein intransparenter Iteration, um die Liste von IPv6-Adressen eines Routers zu durchlaufen.
Zeiger auf eine Instanz dieses Typs werden in otMeshDiagRouterInfo
bereitgestellt.
otMeshDiagQueryChildTableCallback
void(* otMeshDiagQueryChildTableCallback)(otError aError, const otMeshDiagChildEntry *aChildEntry, void *aContext)
Stellt den Callback dar, der von otMeshDiagQueryChildTable()
verwendet wird, um Informationen zu untergeordneten Tabelleneinträgen bereitzustellen.
Wenn aError
den Wert OT_ERROR_PENDING
hat, bedeutet dies, dass die Tabelle noch mehr Einträge enthält und der Callback noch einmal aufgerufen wird.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
otMeshDiagQueryRouterNeighborTableCallback
void(* otMeshDiagQueryRouterNeighborTableCallback)(otError aError, const otMeshDiagRouterNeighborEntry *aNeighborEntry, void *aContext)
Stellt den Callback dar, der von otMeshDiagQueryRouterNeighborTable()
verwendet wird, um Informationen über benachbarte Router-Tabelleneinträge bereitzustellen.
Wenn aError
den Wert OT_ERROR_PENDING
hat, bedeutet dies, dass die Tabelle noch mehr Einträge enthält und der Callback noch einmal aufgerufen wird.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
otMeshDiagRouterInfo
struct otMeshDiagRouterInfo otMeshDiagRouterInfo
Informationen zu einem Router im Thread-Mesh-Netzwerk, der mit otMeshDiagDiscoverTopology()
erkannt wurde.
otMeshDiagRouterNeighborEntry
struct otMeshDiagRouterNeighborEntry otMeshDiagRouterNeighborEntry
Informationen zu einem Routernachbareintrag aus otMeshDiagQueryRouterNeighborTable()
.
mSupportsErrRate
gibt an, ob die Fehlerverfolgungsfunktion unterstützt wird, und die Werte mFrameErrorRate
und mMessageErrorRate
sind gültig. Die Frame-Fehlerrate erfasst Frame-Tx-Fehler (in Richtung des untergeordneten Elements) auf der MAC-Ebene, während mMessageErrorRate
die Fehlerrate der IPv6-Nachrichten (über der MAC-Ebene und nach MAC-Wiederholungen) erfasst, wenn eine IPv6-Nachricht gelöscht wird. Wenn die Nachricht beispielsweise groß ist und eine 6LoWPAN-Fragmentierung erfordert, gilt die Nachricht tx als fehlgeschlagen, wenn einer ihrer Fragment-Frames tx fehlschlägt (z. B. nie bestätigt).
Funktionen
otMeshDiagCancel
void otMeshDiagCancel( otInstance *aInstance )
Bricht eine laufende Topologieerkennung ab, falls eine vorhanden ist. Andernfalls wird keine Aktion ausgeführt.
Wenn die laufende Erkennung abgebrochen wird, wird der Callback von otMeshDiagDiscoverTopology()
nicht mehr aufgerufen.
otMeshDiagDiscoverTopology
otError otMeshDiagDiscoverTopology( otInstance *aInstance, const otMeshDiagDiscoverConfig *aConfig, otMeshDiagDiscoverCallback aCallback, void *aContext )
Startet die Erkennung der Netzwerktopologie.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Rückgabewerte |
|
otMeshDiagGetNextChildInfo
otError otMeshDiagGetNextChildInfo( otMeshDiagChildIterator *aIterator, otMeshDiagChildInfo *aChildInfo )
Durchläuft die erkannten untergeordneten Elemente eines Routers.
Diese Funktion MUSS aus der Callback-otMeshDiagDiscoverCallback()
und der mChildIterator
aus der aRouterInfo
-Struktur verwendet werden, die als Eingabe für den Callback bereitgestellt wird.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
otMeshDiagGetNextIp6Address
otError otMeshDiagGetNextIp6Address( otMeshDiagIp6AddrIterator *aIterator, otIp6Address *aIp6Address )
Durchläuft die erkannten IPv6-Adressen eines Routers oder untergeordneten MTD.
MUSS verwendet werden
- aus dem Callback
otMeshDiagDiscoverCallback()
und verwenden Sie diemIp6AddrIterator
aus deraRouterInfo
-Struktur, die als Eingabe für den Callback bereitgestellt wird, oder - aus dem Callback
otMeshDiagChildIp6AddrsCallback()
zusammen mit den angegebenenaIp6AddrIterator
.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
otMeshDiagQueryChildTable
otError otMeshDiagQueryChildTable( otInstance *aInstance, uint16_t aRloc16, otMeshDiagQueryChildTableCallback aCallback, void *aContext )
Startet die Abfrage einer untergeordneten Tabelle für einen bestimmten Router.
Details | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||
Rückgabewerte |
|
otMeshDiagQueryChildrenIp6Addrs
otError otMeshDiagQueryChildrenIp6Addrs( otInstance *aInstance, uint16_t aRloc16, otMeshDiagChildIp6AddrsCallback aCallback, void *aContext )
Sendet eine Abfrage an ein übergeordnetes Element, um die IPv6-Adressen aller untergeordneten MTD-Objekte abzurufen.
Details | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||
Rückgabewerte |
|
otMeshDiagQueryRouterNeighborTable
otError otMeshDiagQueryRouterNeighborTable( otInstance *aInstance, uint16_t aRloc16, otMeshDiagQueryRouterNeighborTableCallback aCallback, void *aContext )
Startet die Abfrage der Router-Nachbartabelle für einen bestimmten Router.
Details | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||
Rückgabewerte |
|
Makros
OT_MESH_DIAG_VERSION_UNKNOWN
OT_MESH_DIAG_VERSION_UNKNOWN 0xffff
Gibt an, dass die Thread-Version unbekannt ist.
Wird in otMeshDiagRouterInfo
für die mVersion
-Eigenschaft verwendet, wenn das Gerät keine eigene Version bereitstellt. Das bedeutet, dass auf dem Gerät wahrscheinlich 1.3.0 (Version 4) oder eine frühere Version ausgeführt wird.
Ressourcen
OpenThread API-Referenzthemen stammen aus dem Quellcode, der auf GitHub verfügbar ist. Weitere Informationen finden Sie unter Ressourcen. Dort können Sie auch einen Beitrag zu unserer Dokumentation leisten.