ICMPv6

Questo modulo include funzioni che controllano la comunicazione ICMPv6.

Riepilogo

Enumerazioni

otIcmp6Code{
  OT_ICMP6_CODE_DST_UNREACH_NO_ROUTE = 0,
  OT_ICMP6_CODE_FRAGM_REAS_TIME_EX = 1
}
enum
Codici messaggio ICMPv6.
otIcmp6EchoMode{
  OT_ICMP6_ECHO_HANDLER_DISABLED = 0,
  OT_ICMP6_ECHO_HANDLER_UNICAST_ONLY = 1,
  OT_ICMP6_ECHO_HANDLER_MULTICAST_ONLY = 2,
  OT_ICMP6_ECHO_HANDLER_ALL = 3
}
enum
Modalità di risposta eco ICMPv6.
otIcmp6Type{
  OT_ICMP6_TYPE_DST_UNREACH = 1,
  OT_ICMP6_TYPE_PACKET_TO_BIG = 2,
  OT_ICMP6_TYPE_TIME_EXCEEDED = 3,
  OT_ICMP6_TYPE_PARAMETER_PROBLEM = 4,
  OT_ICMP6_TYPE_ECHO_REQUEST = 128,
  OT_ICMP6_TYPE_ECHO_REPLY = 129,
  OT_ICMP6_TYPE_ROUTER_SOLICIT = 133,
  OT_ICMP6_TYPE_ROUTER_ADVERT = 134
}
enum
Tipi di messaggi ICMPv6.

Typedef

otIcmp6Code typedef
Codici messaggio ICMPv6.
otIcmp6EchoMode typedef
Modalità di risposta eco ICMPv6.
otIcmp6Handler typedef
Questa struttura implementa il gestore dei messaggi ICMPv6.
otIcmp6Header typedef
struct otIcmp6Header
Questo tipo rappresenta un'intestazione ICMPv6.
otIcmp6ReceiveCallback)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo, const otIcmp6Header *aIcmpHeader) typedef
void(*
Questo callback consente a OpenThread di informare l'applicazione di un messaggio ICMPv6 ricevuto.
otIcmp6Type typedef
Tipi di messaggi ICMPv6.

Variabili

OT_TOOL_PACKED_END

Functions

otIcmp6GetEchoMode(otInstance *aInstance)
Questa funzione indica se l'elaborazione dell'eco ICMPv6 è abilitata.
otIcmp6RegisterHandler(otInstance *aInstance, otIcmp6Handler *aHandler)
Questa funzione registra un gestore per fornire messaggi ICMPv6 ricevuti.
otIcmp6SendEchoRequest(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, uint16_t aIdentifier)
Questa funzione invia una richiesta Echo ICMPv6 tramite l'interfaccia di Thread.
otIcmp6SetEchoMode(otInstance *aInstance, otIcmp6EchoMode aMode)
void
Questa funzione consente di stabilire se attivare o meno l'elaborazione dell'eco ICMPv6.

Punti ristoro

OtIcmp6Handler

Questa struttura implementa il gestore dei messaggi ICMPv6.

Intestazione otIcmp6

Questa struttura rappresenta un'intestazione ICMPv6.

Unioni

otIcmp6Header::OT_STRUMENTO_PACKED_FIELD

Enumerazioni

otIcmp6Codice

 otIcmp6Code

Codici messaggio ICMPv6.

Proprietà
OT_ICMP6_CODE_DST_UNREACH_NO_ROUTE

Destinazione non raggiungibile.

OT_ICMP6_CODE_FRAGM_REAS_TIME_EX

Tempo di riassemblaggio dei frammenti superato.

otIcmp6EchoMode

 otIcmp6EchoMode

Modalità di risposta eco ICMPv6.

Proprietà
OT_ICMP6_ECHO_HANDLER_ALL

Elaborazione eco ICMPv6 abilitata per le richieste unicast e multicast.

OT_ICMP6_ECHO_HANDLER_DISABLED

Elaborazione eco ICMPv6 disattivata.

OT_ICMP6_ECHO_HANDLER_MULTICAST_ONLY

Elaborazione eco ICMPv6 abilitata solo per le richieste multicast.

OT_ICMP6_ECHO_HANDLER_UNICAST_ONLY

Elaborazione eco ICMPv6 abilitata solo per le richieste unicast.

otIcmp6Type

 otIcmp6Type

Tipi di messaggi ICMPv6.

Proprietà
OT_ICMP6_TYPE_DST_UNREACH

Destinazione non raggiungibile.

OT_ICMP6_TYPE_ECHO_REPLY

Risposta eco.

OT_ICMP6_TYPE_ECHO_REQUEST

Richiesta di eco.

OT_ICMP6_TYPE_PACKET_TO_BIG

Un grande pacchetto.

OT_ICMP6_TYPE_PARAMETER_PROBLEM

Problema al parametro.

OT_ICMP6_TYPE_ROUTER_ADVERT

Pubblicità del router.

OT_ICMP6_TYPE_ROUTER_SOLICIT

Richiesta di router.

OT_ICMP6_TYPE_TIME_EXCEEDED

Tempo superato.

Typedef

otIcmp6Codice

enum otIcmp6Code otIcmp6Code

Codici messaggio ICMPv6.

otIcmp6EchoMode

enum otIcmp6EchoMode otIcmp6EchoMode

Modalità di risposta eco ICMPv6.

otIcmp6Handler

struct otIcmp6Handler otIcmp6Handler

Questa struttura implementa il gestore dei messaggi ICMPv6.

Intestazione otIcmp6

struct otIcmp6Header otIcmp6Header

Questo tipo rappresenta un'intestazione ICMPv6.

otIcmp6ReceiveCallback

void(* otIcmp6ReceiveCallback)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo, const otIcmp6Header *aIcmpHeader)

Questo callback consente a OpenThread di informare l'applicazione di un messaggio ICMPv6 ricevuto.

Dettagli
Parametri
[in] aContext
Un riferimento a informazioni di contesto arbitrarie.
[in] aMessage
Un puntatore al messaggio ricevuto.
[in] aMessageInfo
Un puntatore alle informazioni del messaggio associate a aMessage.
[in] aIcmpHeader
Un puntatore all'intestazione ICMPv6 ricevuta.

otIcmp6Type

enum otIcmp6Type otIcmp6Type

Tipi di messaggi ICMPv6.

Variabili

OGGER_PACKED_END

OT_TOOL_PACKED_BEGIN struct otIcmp6Header OT_TOOL_PACKED_END

Functions

otIcmp6GetEchoMode

otIcmp6EchoMode otIcmp6GetEchoMode(
  otInstance *aInstance
)

Questa funzione indica se l'elaborazione dell'eco ICMPv6 è abilitata.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
Valori restituiti
OT_ICMP6_ECHO_HANDLER_DISABLED
L'elaborazione dell'eco ICMPv6 è disabilitata.
OT_ICMP6_ECHO_HANDLER_UNICAST_ONLY
Elaborazione eco ICMPv6 abilitata solo per richieste unicast
OT_ICMP6_ECHO_HANDLER_MULTICAST_ONLY
Elaborazione eco ICMPv6 abilitata solo per richieste multicast
OT_ICMP6_ECHO_HANDLER_ALL
Elaborazione eco ICMPv6 abilitata per richieste unicast e multicast

otIcmp6RegisterHandler

otError otIcmp6RegisterHandler(
  otInstance *aInstance,
  otIcmp6Handler *aHandler
)

Questa funzione registra un gestore per fornire messaggi ICMPv6 ricevuti.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aHandler
Un puntatore a un gestore che contiene un callback che viene chiamato quando viene ricevuto un messaggio ICMPv6.

otIcmp6SendEchoRequest

otError otIcmp6SendEchoRequest(
  otInstance *aInstance,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo,
  uint16_t aIdentifier
)

Questa funzione invia una richiesta Echo ICMPv6 tramite l'interfaccia di Thread.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aMessage
Un puntatore al buffer dei messaggi contenente il payload ICMPv6.
[in] aMessageInfo
Un riferimento alle informazioni sul messaggio associate a aMessage.
[in] aIdentifier
Un identificatore che aiuta a trovare le risposte eco a questa richiesta eco. Può essere zero.

otIcmp6SetEchoMode

void otIcmp6SetEchoMode(
  otInstance *aInstance,
  otIcmp6EchoMode aMode
)

Questa funzione consente di stabilire se attivare o meno l'elaborazione dell'eco ICMPv6.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aMode
La modalità di elaborazione Echo ICMPv6.

Macro

OTS_ICMP6_HEADLINE_DATA_SIZE

 OT_ICMP6_HEADER_DATA_SIZE 4

Le dimensioni di un dato specifico di un'intestazione ICMPv6 di un messaggio.

Risorse

Gli argomenti di riferimento dell'API OpenThread provengono dal codice sorgente, disponibile su GitHub. Per ulteriori informazioni, o per contribuire alla nostra documentazione, consulta la pagina Risorse.