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 dei messaggi 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,
  OT_ICMP6_TYPE_NEIGHBOR_SOLICIT = 135,
  OT_ICMP6_TYPE_NEIGHBOR_ADVERT = 136
}
enum
Tipi di messaggi ICMPv6.

Typedef

otIcmp6Code typedef
Codici dei messaggi ICMPv6.
otIcmp6EchoMode typedef
Modalità di risposta eco ICMPv6.
otIcmp6Handler typedef
Implementa il gestore dei messaggi ICMPv6.
otIcmp6Header typedef
struct otIcmp6Header
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

Funzioni

otIcmp6GetEchoMode(otInstance *aInstance)
Indica se l'elaborazione dell'eco ICMPv6 è abilitata o meno.
otIcmp6RegisterHandler(otInstance *aInstance, otIcmp6Handler *aHandler)
Registra un gestore per fornire i messaggi ICMPv6 ricevuti.
otIcmp6SendEchoRequest(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, uint16_t aIdentifier)
Invia una richiesta Echo ICMPv6 tramite l'interfaccia Thread.
otIcmp6SetEchoMode(otInstance *aInstance, otIcmp6EchoMode aMode)
void
Consente di stabilire se abilitare o meno l'elaborazione dell'eco ICMPv6.

Strutture

otIcmp6Handler

Implementa il gestore dei messaggi ICMPv6.

otIcmp6Header

Rappresenta un'intestazione ICMPv6.

Unione

otIcmp6Header::OT_TOOL_PACKED_FIELD

Enumerazioni

otIcmp6Code

 otIcmp6Code

Codici dei messaggi ICMPv6.

Proprietà
OT_ICMP6_CODE_DST_UNREACH_NO_ROUTE

Destinazione non raggiungibile, nessun percorso.

OT_ICMP6_CODE_FRAGM_REAS_TIME_EX

Tempo di riassemblaggio frammento 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 disabilitata.

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 eco.

OT_ICMP6_TYPE_NEIGHBOR_ADVERT

Pubblicità di quartiere.

OT_ICMP6_TYPE_NEIGHBOR_SOLICIT

Richiesta di vicini.

OT_ICMP6_TYPE_PACKET_TO_BIG

Pacchetto in grande.

OT_ICMP6_TYPE_PARAMETER_PROBLEM

Problema relativo ai parametri.

OT_ICMP6_TYPE_ROUTER_ADVERT

Pubblicità relativa a fresatrici verticali.

OT_ICMP6_TYPE_ROUTER_SOLICIT

Richiesta di router.

OT_ICMP6_TYPE_TIME_EXCEEDED

Tempo superato.

Typedef

otIcmp6Code

enum otIcmp6Code otIcmp6Code

Codici dei messaggi ICMPv6.

otIcmp6EchoMode

enum otIcmp6EchoMode otIcmp6EchoMode

Modalità di risposta eco ICMPv6.

otIcmp6Handler

struct otIcmp6Handler otIcmp6Handler

Implementa il gestore dei messaggi ICMPv6.

otIcmp6Header

struct otIcmp6Header otIcmp6Header

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 puntatore 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

OT_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otIcmp6Header OT_TOOL_PACKED_END

Funzioni

otIcmp6GetEchoMode

otIcmp6EchoMode otIcmp6GetEchoMode(
  otInstance *aInstance
)

Indica se l'elaborazione dell'eco ICMPv6 è abilitata o meno.

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 le richieste multicast
OT_ICMP6_ECHO_HANDLER_ALL
Elaborazione eco ICMPv6 abilitata per le richieste unicast e multicast

otIcmp6RegisterHandler

otError otIcmp6RegisterHandler(
  otInstance *aInstance,
  otIcmp6Handler *aHandler
)

Registra un gestore per fornire i messaggi ICMPv6 ricevuti.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aHandler
Un puntatore a un gestore contenente il callback che viene chiamato alla ricezione di un messaggio ICMPv6.

otIcmp6SendEchoRequest

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

Invia una richiesta Echo ICMPv6 tramite l'interfaccia 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 del messaggio associate a aMessage.
[in] aIdentifier
Un identificatore che aiuta a far corrispondere le risposte Echo a questa richiesta Echo. Può essere zero.

otIcmp6SetEchoMode

void otIcmp6SetEchoMode(
  otInstance *aInstance,
  otIcmp6EchoMode aMode
)

Consente di stabilire se abilitare o meno l'elaborazione dell'eco ICMPv6.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aMode
Modalità di elaborazione dell'eco di ICMPv6.

Macro

OT_ICMP6_HEADER_DATA_SIZE

 OT_ICMP6_HEADER_DATA_SIZE 4

Dimensioni dell'intestazione ICMPv6.

OT_ICMP6_ROUTER_ADVERT_MIN_SIZE

 OT_ICMP6_ROUTER_ADVERT_MIN_SIZE 16

Dimensioni del messaggio di annuncio di un router senza opzioni.

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.