Diagnostica mesh
Questo modulo include definizioni e funzioni per la diagnostica mesh.
Riepilogo
Le API di diagnostica della rete mesh richiedono i criteri OPENTHREAD_CONFIG_MESH_DIAG_ENABLE
e OPENTHREAD_FTD
.
Typedef |
|
---|---|
otMeshDiagChildEntry
|
typedefstruct otMeshDiagChildEntry
Rappresenta le informazioni su una voce secondaria di otMeshDiagQueryChildTable() . |
otMeshDiagChildInfo
|
typedefstruct otMeshDiagChildInfo
Rappresenta le informazioni su un asset secondario rilevato nella rete mesh Thread utilizzando otMeshDiagDiscoverTopology() . |
otMeshDiagChildIp6AddrsCallback)(otError aError, uint16_t aChildRloc16, otMeshDiagIp6AddrIterator *aIp6AddrIterator, void *aContext)
|
typedefvoid(*
Rappresenta il callback utilizzato da otMeshDiagQueryChildrenIp6Addrs() per fornire informazioni su un elemento secondario MTD e sul relativo elenco di indirizzi IPv6. |
otMeshDiagChildIterator
|
typedefstruct otMeshDiagChildIterator
Un iteratore opaco per eseguire l'iterazione nell'elenco degli elementi secondari di un router. |
otMeshDiagDiscoverCallback)(otError aError, otMeshDiagRouterInfo *aRouterInfo, void *aContext)
|
typedefvoid(*
Il tipo di puntatore rappresenta il callback utilizzato da otMeshDiagDiscoverTopology() per fornire informazioni su un router rilevato. |
otMeshDiagDiscoverConfig
|
typedefstruct otMeshDiagDiscoverConfig
Rappresenta l'insieme di configurazioni utilizzate durante il rilevamento della topologia mesh che indicano quali elementi da scoprire. |
otMeshDiagIp6AddrIterator
|
typedefstruct otMeshDiagIp6AddrIterator
Un iteratore opaco per eseguire l'iterazione sull'elenco di indirizzi IPv6 di un router. |
otMeshDiagQueryChildTableCallback)(otError aError, const otMeshDiagChildEntry *aChildEntry, void *aContext)
|
typedefvoid(*
Rappresenta il callback utilizzato da otMeshDiagQueryChildTable() per fornire informazioni sulle voci della tabella figlio. |
otMeshDiagQueryRouterNeighborTableCallback)(otError aError, const otMeshDiagRouterNeighborEntry *aNeighborEntry, void *aContext)
|
typedefvoid(*
Rappresenta il callback utilizzato da otMeshDiagQueryRouterNeighborTable() per fornire informazioni sulle voci nella tabella del router vicino. |
otMeshDiagRouterInfo
|
typedefstruct otMeshDiagRouterInfo
Rappresenta le informazioni su un router nella rete mesh Thread rilevata tramite otMeshDiagDiscoverTopology() . |
otMeshDiagRouterNeighborEntry
|
typedef Rappresenta le informazioni sulla voce di un vicino router da otMeshDiagQueryRouterNeighborTable() . |
Funzioni |
|
---|---|
otMeshDiagCancel(otInstance *aInstance)
|
void
Annulla il rilevamento della topologia in corso, se presente, altrimenti non verrà eseguita alcuna azione.
|
otMeshDiagDiscoverTopology(otInstance *aInstance, const otMeshDiagDiscoverConfig *aConfig, otMeshDiagDiscoverCallback aCallback, void *aContext)
|
Avvia il rilevamento della topologia di rete.
|
otMeshDiagGetNextChildInfo(otMeshDiagChildIterator *aIterator, otMeshDiagChildInfo *aChildInfo)
|
Itera attraverso i figli scoperti di un router.
|
otMeshDiagGetNextIp6Address(otMeshDiagIp6AddrIterator *aIterator, otIp6Address *aIp6Address)
|
Itera attraverso gli indirizzi IPv6 rilevati di un router o di un server MTD secondario.
|
otMeshDiagQueryChildTable(otInstance *aInstance, uint16_t aRloc16, otMeshDiagQueryChildTableCallback aCallback, void *aContext)
|
Avvia la query per la tabella figlio per un determinato router.
|
otMeshDiagQueryChildrenIp6Addrs(otInstance *aInstance, uint16_t aRloc16, otMeshDiagChildIp6AddrsCallback aCallback, void *aContext)
|
Invia una query a un padre per recuperare gli indirizzi IPv6 di tutti i relativi indirizzi secondari MTD.
|
otMeshDiagQueryRouterNeighborTable(otInstance *aInstance, uint16_t aRloc16, otMeshDiagQueryRouterNeighborTableCallback aCallback, void *aContext)
|
Avvia la query per la tabella dei vicini router per un determinato router.
|
Strutture |
|
---|---|
otMeshDiagChildEntry |
Rappresenta le informazioni su una voce secondaria di |
otMeshDiagChildInfo |
Rappresenta le informazioni su un asset secondario rilevato nella rete mesh Thread utilizzando |
otMeshDiagDiscoverConfig |
Rappresenta l'insieme di configurazioni utilizzate durante il rilevamento della topologia mesh che indicano quali elementi da scoprire. |
otMeshDiagRouterInfo |
Rappresenta le informazioni su un router nella rete mesh Thread rilevata tramite |
otMeshDiagRouterNeighborEntry |
Rappresenta le informazioni sulla voce di un vicino router da |
Typedef
otMeshDiagChildEntry
struct otMeshDiagChildEntry otMeshDiagChildEntry
Rappresenta le informazioni su una voce secondaria di otMeshDiagQueryChildTable()
.
mSupportsErrRate
indica se la funzionalità di monitoraggio degli errori è supportata e i valori mFrameErrorRate
e mMessageErrorRate
sono validi. Il tasso di errore dei frame tiene traccia degli errori TX del frame (verso il livello secondario) a livello MAC, mentre mMessageErrorRate
tiene traccia della percentuale di errori dei messaggi IPv6 (sopra il livello MAC e dopo i nuovi tentativi MAC) quando un messaggio IPv6 viene ignorato. Ad esempio, se il messaggio è di grandi dimensioni e richiede la frammentazione 6LoWPAN, il messaggio tx viene considerato non riuscito se uno dei suoi frammenti con tx ha esito negativo (ad esempio, mai ack).
otMeshDiagChildInfo
struct otMeshDiagChildInfo otMeshDiagChildInfo
Rappresenta le informazioni su un asset secondario rilevato nella rete mesh Thread utilizzando otMeshDiagDiscoverTopology()
.
otMeshDiagChildIp6AddrsCallback
void(* otMeshDiagChildIp6AddrsCallback)(otError aError, uint16_t aChildRloc16, otMeshDiagIp6AddrIterator *aIp6AddrIterator, void *aContext)
Rappresenta il callback utilizzato da otMeshDiagQueryChildrenIp6Addrs()
per fornire informazioni su un elemento secondario MTD e sul relativo elenco di indirizzi IPv6.
Quando aError
è OT_ERROR_PENDING
, indica che ci sono altri elementi secondari e il callback verrà richiamato.
Dettagli | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametri |
|
otMeshDiagChildIterator
struct otMeshDiagChildIterator otMeshDiagChildIterator
Un iteratore opaco per eseguire l'iterazione nell'elenco degli elementi secondari di un router.
I puntatori all'istanza di questo tipo sono forniti in otMeshDiagRouterInfo
.
otMeshDiagDiscoverCallback
void(* otMeshDiagDiscoverCallback)(otError aError, otMeshDiagRouterInfo *aRouterInfo, void *aContext)
Il tipo di puntatore rappresenta il callback utilizzato da otMeshDiagDiscoverTopology()
per fornire informazioni su un router rilevato.
Quando aError
è OT_ERROR_PENDING
, significa che il rilevamento non è ancora terminato e che devono essere rilevati altri router e che il callback verrà richiamato.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
otMeshDiagDiscoverConfig
struct otMeshDiagDiscoverConfig otMeshDiagDiscoverConfig
Rappresenta l'insieme di configurazioni utilizzate durante il rilevamento della topologia mesh che indicano quali elementi da scoprire.
otMeshDiagIp6AddrIterator
struct otMeshDiagIp6AddrIterator otMeshDiagIp6AddrIterator
Un iteratore opaco per eseguire l'iterazione sull'elenco di indirizzi IPv6 di un router.
I puntatori all'istanza di questo tipo sono forniti in otMeshDiagRouterInfo
.
otMeshDiagQueryChildTableCallback
void(* otMeshDiagQueryChildTableCallback)(otError aError, const otMeshDiagChildEntry *aChildEntry, void *aContext)
Rappresenta il callback utilizzato da otMeshDiagQueryChildTable()
per fornire informazioni sulle voci della tabella figlio.
Quando aError
è OT_ERROR_PENDING
, indica che la tabella contiene ancora altre voci e il callback verrà richiamato.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
otMeshDiagQueryRouterNeighborTableCallback
void(* otMeshDiagQueryRouterNeighborTableCallback)(otError aError, const otMeshDiagRouterNeighborEntry *aNeighborEntry, void *aContext)
Rappresenta il callback utilizzato da otMeshDiagQueryRouterNeighborTable()
per fornire informazioni sulle voci nella tabella del router vicino.
Quando aError
è OT_ERROR_PENDING
, indica che la tabella contiene ancora altre voci e il callback verrà richiamato.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
otMeshDiagRouterInfo
struct otMeshDiagRouterInfo otMeshDiagRouterInfo
Rappresenta le informazioni su un router nella rete mesh Thread rilevata tramite otMeshDiagDiscoverTopology()
.
otMeshDiagRouterNeighborEntry
struct otMeshDiagRouterNeighborEntry otMeshDiagRouterNeighborEntry
Rappresenta le informazioni sulla voce di un vicino router da otMeshDiagQueryRouterNeighborTable()
.
mSupportsErrRate
indica se la funzionalità di monitoraggio degli errori è supportata e i valori mFrameErrorRate
e mMessageErrorRate
sono validi. Il tasso di errore dei frame tiene traccia degli errori TX del frame (verso il livello secondario) a livello MAC, mentre mMessageErrorRate
tiene traccia della percentuale di errori dei messaggi IPv6 (sopra il livello MAC e dopo i nuovi tentativi MAC) quando un messaggio IPv6 viene ignorato. Ad esempio, se il messaggio è di grandi dimensioni e richiede la frammentazione 6LoWPAN, il messaggio tx viene considerato non riuscito se uno dei suoi frammenti con tx ha esito negativo (ad esempio, mai ack).
Funzioni
otMeshDiagCancel
void otMeshDiagCancel( otInstance *aInstance )
Annulla il rilevamento della topologia in corso, se presente, altrimenti non verrà eseguita alcuna azione.
Quando il rilevamento in corso viene annullato, il callback da otMeshDiagDiscoverTopology()
non verrà più chiamato.
otMeshDiagDiscoverTopology
otError otMeshDiagDiscoverTopology( otInstance *aInstance, const otMeshDiagDiscoverConfig *aConfig, otMeshDiagDiscoverCallback aCallback, void *aContext )
Avvia il rilevamento della topologia di rete.
Dettagli | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||
Valori restituiti |
|
otMeshDiagGetNextChildInfo
otError otMeshDiagGetNextChildInfo( otMeshDiagChildIterator *aIterator, otMeshDiagChildInfo *aChildInfo )
Itera attraverso i figli scoperti di un router.
Questa funzione DEVE essere utilizzata dal callback otMeshDiagDiscoverCallback()
e usa il mChildIterator
dello struct aRouterInfo
fornito come input per il callback.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori restituiti |
|
otMeshDiagGetNextIp6Address
otError otMeshDiagGetNextIp6Address( otMeshDiagIp6AddrIterator *aIterator, otIp6Address *aIp6Address )
Itera attraverso gli indirizzi IPv6 rilevati di un router o di un server MTD secondario.
DEVE essere utilizzato
- dal callback
otMeshDiagDiscoverCallback()
e usa ilmIp6AddrIterator
dello structaRouterInfo
fornito come input per il callback oppure - dal callback
otMeshDiagChildIp6AddrsCallback()
insieme alleaIp6AddrIterator
fornite.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori restituiti |
|
otMeshDiagQueryChildTable
otError otMeshDiagQueryChildTable( otInstance *aInstance, uint16_t aRloc16, otMeshDiagQueryChildTableCallback aCallback, void *aContext )
Avvia la query per la tabella figlio per un determinato router.
Dettagli | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||||
Valori restituiti |
|
otMeshDiagQueryChildrenIp6Addrs
otError otMeshDiagQueryChildrenIp6Addrs( otInstance *aInstance, uint16_t aRloc16, otMeshDiagChildIp6AddrsCallback aCallback, void *aContext )
Invia una query a un padre per recuperare gli indirizzi IPv6 di tutti i relativi indirizzi secondari MTD.
Dettagli | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||||
Valori restituiti |
|
otMeshDiagQueryRouterNeighborTable
otError otMeshDiagQueryRouterNeighborTable( otInstance *aInstance, uint16_t aRloc16, otMeshDiagQueryRouterNeighborTableCallback aCallback, void *aContext )
Avvia la query per la tabella dei vicini router per un determinato router.
Dettagli | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||||
Valori restituiti |
|
Macro
OT_MESH_DIAG_VERSION_UNKNOWN
OT_MESH_DIAG_VERSION_UNKNOWN 0xffff
Specifica che la versione del thread è sconosciuta.
Viene utilizzato in otMeshDiagRouterInfo
per la proprietà mVersion
quando il dispositivo non fornisce la sua versione. Questo indica che probabilmente sul dispositivo è in esecuzione la versione 1.3.0 (valore della versione 4) o una versione precedente.
Risorse
Gli argomenti di riferimento dell'API OpenThread provengono dal codice sorgente, disponibile su GitHub. Per saperne di più o per contribuire alla nostra documentazione, consulta la sezione Risorse.