ICMPv6

Ce module inclut des fonctions de contrôle de la communication ICMPv6.

Résumé

Énumérations

otIcmp6Code{
  OT_ICMP6_CODE_DST_UNREACH_NO_ROUTE = 0,
  OT_ICMP6_CODE_FRAGM_REAS_TIME_EX = 1
}
enum
Codes de message 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
Modes de réponse d'écho 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
Types de messages ICMPv6.

Typedefs

otIcmp6Code typedef
Codes de message ICMPv6.
otIcmp6EchoMode typedef
Modes de réponse d'écho ICMPv6.
otIcmp6Handler typedef
Implémentation du gestionnaire de messages ICMPv6.
otIcmp6Header typedef
struct otIcmp6Header
Représente un en-tête ICMPv6.
otIcmp6ReceiveCallback)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo, const otIcmp6Header *aIcmpHeader) typedef
void(*
Ce rappel permet à OpenThread d'informer l'application d'un message ICMPv6 reçu.
otIcmp6Type typedef
Types de messages ICMPv6.

Variables

OT_TOOL_PACKED_END

distantes

otIcmp6GetEchoMode(otInstance *aInstance)
Indique si le traitement de l'écho ICMPv6 est activé ou non.
otIcmp6RegisterHandler(otInstance *aInstance, otIcmp6Handler *aHandler)
Enregistre un gestionnaire pour fournir les messages ICMPv6 reçus.
otIcmp6SendEchoRequest(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, uint16_t aIdentifier)
Envoie une demande d'écho ICMPv6 via l'interface Thread.
otIcmp6SetEchoMode(otInstance *aInstance, otIcmp6EchoMode aMode)
void
Détermine si le traitement de l'écho ICMPv6 est activé ou non.

Structs

otIcmp6Handler

Implémentation du gestionnaire de messages ICMPv6.

otIcmp6Header

Représente un en-tête ICMPv6.

Unions

otIcmp6Header::OT_TOOL_PACKED_FIELD

Énumérations

otIcmp6Code

 otIcmp6Code

Codes de message ICMPv6.

Propriétés
OT_ICMP6_CODE_DST_UNREACH_NO_ROUTE

Destination inaccessible. Aucun itinéraire.

OT_ICMP6_CODE_FRAGM_REAS_TIME_EX

Le temps de réassemblage du fragment a été dépassé.

otIcmp6EchoMode

 otIcmp6EchoMode

Modes de réponse d'écho ICMPv6.

Propriétés
OT_ICMP6_ECHO_HANDLER_ALL

Traitement de l'écho ICMPv6 activé pour les requêtes de monodiffusion et de multidiffusion.

OT_ICMP6_ECHO_HANDLER_DISABLED

Traitement de l'écho ICMPv6 désactivé.

OT_ICMP6_ECHO_HANDLER_MULTICAST_ONLY

Traitement de l'écho ICMPv6 activé uniquement pour les requêtes de multidiffusion.

OT_ICMP6_ECHO_HANDLER_UNICAST_ONLY

Traitement de l'écho ICMPv6 activé uniquement pour les requêtes unicast uniquement.

otIcmp6Type

 otIcmp6Type

Types de messages ICMPv6.

Propriétés
OT_ICMP6_TYPE_DST_UNREACH

Destination inaccessible.

OT_ICMP6_TYPE_ECHO_REPLY

Réponse d’écho.

OT_ICMP6_TYPE_ECHO_REQUEST

Demande d’écho.

OT_ICMP6_TYPE_NEIGHBOR_ADVERT

Publicité de voisin.

OT_ICMP6_TYPE_NEIGHBOR_SOLICIT

Sollicitation de voisins.

OT_ICMP6_TYPE_PACKET_TO_BIG

Paquet à Big.

OT_ICMP6_TYPE_PARAMETER_PROBLEM

Problème de paramètre.

OT_ICMP6_TYPE_ROUTER_ADVERT

Annonce de routeur.

OT_ICMP6_TYPE_ROUTER_SOLICIT

Sollicitation de routeur.

OT_ICMP6_TYPE_TIME_EXCEEDED

Temps dépassé.

Typedefs

otIcmp6Code

enum otIcmp6Code otIcmp6Code

Codes de message ICMPv6.

otIcmp6EchoMode

enum otIcmp6EchoMode otIcmp6EchoMode

Modes de réponse d'écho ICMPv6.

otIcmp6Handler

struct otIcmp6Handler otIcmp6Handler

Implémentation du gestionnaire de messages ICMPv6.

otIcmp6Header

struct otIcmp6Header otIcmp6Header

Représente un en-tête ICMPv6.

otIcmp6ReceiveCallback

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

Ce rappel permet à OpenThread d'informer l'application d'un message ICMPv6 reçu.

Détails
Paramètres
[in] aContext
Pointeur vers des informations de contexte arbitraires.
[in] aMessage
Pointeur vers le message reçu.
[in] aMessageInfo
Pointeur vers les informations du message associées à aMessage.
[in] aIcmpHeader
Pointeur vers l'en-tête ICMPv6 reçu.

otIcmp6Type

enum otIcmp6Type otIcmp6Type

Types de messages ICMPv6.

Variables

OT_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otIcmp6Header OT_TOOL_PACKED_END

distantes

otIcmp6GetEchoMode

otIcmp6EchoMode otIcmp6GetEchoMode(
  otInstance *aInstance
)

Indique si le traitement de l'écho ICMPv6 est activé ou non.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
Valeurs de retour
OT_ICMP6_ECHO_HANDLER_DISABLED
Le traitement de l'écho ICMPv6 est désactivé.
OT_ICMP6_ECHO_HANDLER_UNICAST_ONLY
Traitement de l'écho ICMPv6 activé uniquement pour les requêtes unicast
OT_ICMP6_ECHO_HANDLER_MULTICAST_ONLY
Traitement de l'écho ICMPv6 activé uniquement pour les requêtes de multidiffusion
OT_ICMP6_ECHO_HANDLER_ALL
Traitement de l'écho ICMPv6 activé pour les requêtes de monodiffusion et de multidiffusion

otIcmp6RegisterHandler

otError otIcmp6RegisterHandler(
  otInstance *aInstance,
  otIcmp6Handler *aHandler
)

Enregistre un gestionnaire pour fournir les messages ICMPv6 reçus.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[in] aHandler
Pointeur vers un gestionnaire contenant un rappel qui est appelé à la réception d'un message ICMPv6.

otIcmp6SendEchoRequest

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

Envoie une demande d'écho ICMPv6 via l'interface Thread.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[in] aMessage
Pointeur vers le tampon du message contenant la charge utile ICMPv6.
[in] aMessageInfo
Référence aux informations du message associées à aMessage.
[in] aIdentifier
Identifiant qui facilite la mise en correspondance des réponses d'écho à cette demande d'écho. Peut être égal à zéro.

otIcmp6SetEchoMode

void otIcmp6SetEchoMode(
  otInstance *aInstance,
  otIcmp6EchoMode aMode
)

Détermine si le traitement de l'écho ICMPv6 est activé ou non.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[in] aMode
Mode de traitement de l'écho ICMPv6.

Macros

OT_ICMP6_HEADER_DATA_SIZE

 OT_ICMP6_HEADER_DATA_SIZE 4

Taille de l'en-tête ICMPv6.

OT_ICMP6_ROUTER_ADVERT_MIN_SIZE

 OT_ICMP6_ROUTER_ADVERT_MIN_SIZE 16

Taille d'un message d'annonce de routeur sans option.

Ressources

Les sujets de référence de l'API OpenThread proviennent du code source, disponible sur GitHub. Pour en savoir plus ou pour contribuer à notre documentation, consultez la section Ressources.