IPv6

Ce module comprend des fonctions contrôlant la communication IPv6.

Résumé

Énumérations

anonymous enum{
  OT_ADDRESS_ORIGIN_THREAD = 0,
  OT_ADDRESS_ORIGIN_SLAAC = 1,
  OT_ADDRESS_ORIGIN_DHCPV6 = 2,
  OT_ADDRESS_ORIGIN_MANUAL = 3
}
enum
Origines des adresses IPv6.
anonymous enum{
  OT_ECN_NOT_CAPABLE = 0x0,
  OT_ECN_CAPABLE_0 = 0x2,
  OT_ECN_CAPABLE_1 = 0x1,
  OT_ECN_MARKED = 0x3
}
enum
États ECN, représentés dans l'en-tête IP.
anonymous enum{
  OT_IP6_PROTO_HOP_OPTS = 0,
  OT_IP6_PROTO_TCP = 6,
  OT_IP6_PROTO_UDP = 17,
  OT_IP6_PROTO_IP6 = 41,
  OT_IP6_PROTO_ROUTING = 43,
  OT_IP6_PROTO_FRAGMENT = 44,
  OT_IP6_PROTO_ICMP6 = 58,
  OT_IP6_PROTO_NONE = 59,
  OT_IP6_PROTO_DST_OPTS = 60
}
enum
Numéros de protocole Internet

Définitions

otIp6Address CANNOT TRANSLATE
struct otIp6Address
Cette structure représente une adresse IPv6.
otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext) CANNOT TRANSLATE
void(*
Ce pointeur de fonction est appelé lorsqu'une adresse IPv6 interne est ajoutée ou supprimée.
otIp6AddressComponents CANNOT TRANSLATE
Cette structure représente les composants d'une adresse IPv6.
otIp6AddressInfo CANNOT TRANSLATE
otIp6InterfaceIdentifier CANNOT TRANSLATE
Cette structure représente l'identifiant d'interface d'une adresse IPv6.
otIp6NetworkPrefix CANNOT TRANSLATE
Cette structure représente le préfixe réseau d'une adresse IPv6 (64 bits le plus significatif de l'adresse).
otIp6Prefix CANNOT TRANSLATE
struct otIp6Prefix
Cette structure représente un préfixe IPv6.
otIp6ReceiveCallback)(otMessage *aMessage, void *aContext) CANNOT TRANSLATE
void(*
Ce pointeur de fonction est appelé lorsqu'un diagramme de données IPv6 est reçu.
otIp6RegisterMulticastListenersCallback)(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum) CANNOT TRANSLATE
void(*
Ce pointeur de fonction est appelé avec les résultats de otIp6RegisterMulticastListeners.
otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix *aPrefix) CANNOT TRANSLATE
bool(*
Ce pointeur de fonction permet à l'utilisateur de filtrer les préfixes et de ne pas autoriser l'ajout d'une adresse SLAAC basée sur un préfixe.
otMessageInfo CANNOT TRANSLATE
struct otMessageInfo
Cette structure représente les adresses de socket IPv6 locales et de pairs.
otNetifAddress CANNOT TRANSLATE
Cette structure représente une adresse unicast d'interface réseau IPv6.
otNetifMulticastAddress CANNOT TRANSLATE
Cette structure représente une adresse de multidiffusion d'interface réseau IPv6.
otSockAddr CANNOT TRANSLATE
struct otSockAddr
Cette structure représente une adresse de socket IPv6.

Variables

OT_TOOL_PACKED_END

Fonctions

otIp6AddUnicastAddress(otInstance *aInstance, const otNetifAddress *aAddress)
Ajoutez une adresse d'interface réseau à l'interface Thread.
otIp6AddUnsecurePort(otInstance *aInstance, uint16_t aPort)
Cette fonction ajoute un port à la liste de ports non sécurisés autorisés.
otIp6AddressFromString(const char *aString, otIp6Address *aAddress)
Cette fonction convertit une chaîne d'adresse IPv6 lisible en représentation binaire.
otIp6AddressToString(const otIp6Address *aAddress, char *aBuffer, uint16_t aSize)
void
Cette fonction convertit une adresse IPv6 donnée en une chaîne lisible.
otIp6ArePrefixesEqual(const otIp6Prefix *aFirst, const otIp6Prefix *aSecond)
bool
Vérifiez si deux préfixes IPv6 sont identiques.
otIp6GetMulticastAddresses(otInstance *aInstance)
Obtenez la liste des adresses multicast IPv6 abonnées à l'interface Thread.
otIp6GetUnicastAddresses(otInstance *aInstance)
const otNetifAddress *
Obtenez la liste des adresses IPv6 attribuées à l'interface Thread.
otIp6GetUnsecurePorts(otInstance *aInstance, uint8_t *aNumEntries)
const uint16_t *
Cette fonction renvoie un pointeur vers la liste de ports non sécurisés.
otIp6IsAddressEqual(const otIp6Address *aFirst, const otIp6Address *aSecond)
bool
Vérifiez si deux adresses IPv6 sont identiques.
otIp6IsAddressUnspecified(const otIp6Address *aAddress)
bool
Cette fonction indique si l'adresse IPv6 donnée est ou non l'adresse non spécifiée.
otIp6IsEnabled(otInstance *aInstance)
bool
Cette fonction indique si l'interface IPv6 est opérationnelle.
otIp6IsMulticastPromiscuousEnabled(otInstance *aInstance)
bool
Vérifiez si le mode multidiffusion est activé dans l'interface Thread.
otIp6IsReceiveFilterEnabled(otInstance *aInstance)
bool
Cette fonction indique si le trafic des commandes Thread est filtré lors de l'envoi des datagrammes IPv6 via le rappel spécifié dans otIp6SetReceiveCallback().
otIp6IsSlaacEnabled(otInstance *aInstance)
bool
Cette fonction indique si le module SLAAC est activé ou non.
otIp6NewMessage(otInstance *aInstance, const otMessageSettings *aSettings)
Allouer une nouvelle mémoire tampon pour l'envoi d'un message IPv6
otIp6NewMessageFromBuffer(otInstance *aInstance, const uint8_t *aData, uint16_t aDataLength, const otMessageSettings *aSettings)
Allouez un nouveau tampon de message et écrivez le datagramme IPv6 dans le tampon de message pour envoyer un message IPv6.
otIp6PrefixMatch(const otIp6Address *aFirst, const otIp6Address *aSecond)
uint8_t
Cette fonction renvoie la longueur de correspondance du préfixe (bits) pour deux adresses IPv6.
otIp6PrefixToString(const otIp6Prefix *aPrefix, char *aBuffer, uint16_t aSize)
void
Cette fonction convertit un préfixe IPv6 donné en une chaîne lisible.
otIp6ProtoToString(uint8_t aIpProto)
const char *
Cette fonction convertit un numéro de protocole IP donné en chaîne lisible.
otIp6RegisterMulticastListeners(otInstance *aInstance, const otIp6Address *aAddresses, uint8_t aAddressNum, const uint32_t *aTimeout, otIp6RegisterMulticastListenersCallback aCallback, void *aContext)
Cette fonction enregistre les écouteurs Multicast sur le routeur backbone principal.
otIp6RemoveAllUnsecurePorts(otInstance *aInstance)
void
Cette fonction supprime tous les ports de la liste des ports non sécurisés autorisés.
otIp6RemoveUnicastAddress(otInstance *aInstance, const otIp6Address *aAddress)
Supprimer une adresse de l'interface réseau de l'interface Thread
otIp6RemoveUnsecurePort(otInstance *aInstance, uint16_t aPort)
Cette fonction supprime un port de la liste des ports non sécurisés autorisés.
otIp6SelectSourceAddress(otInstance *aInstance, otMessageInfo *aMessageInfo)
Cette fonction effectue la sélection d'adresse source pour OpenThread.
otIp6Send(otInstance *aInstance, otMessage *aMessage)
Cette fonction envoie un datagram IPv6 via l'interface Thread.
otIp6SetAddressCallback(otInstance *aInstance, otIp6AddressCallback aCallback, void *aCallbackContext)
void
Cette fonction enregistre un rappel pour signaler les modifications apportées aux adresses IPv6 internes.
otIp6SetEnabled(otInstance *aInstance, bool aEnabled)
Cette fonction affiche l'interface IPv6 vers le haut ou le bas.
otIp6SetMeshLocalIid(otInstance *aInstance, const otIp6InterfaceIdentifier *aIid)
Cette fonction définit l'ID unique du réseau maillé (à des fins de test).
otIp6SetMulticastPromiscuousEnabled(otInstance *aInstance, bool aEnabled)
void
Activez le mode multiple de diffusion multiple sur l'interface Thread.
otIp6SetReceiveCallback(otInstance *aInstance, otIp6ReceiveCallback aCallback, void *aCallbackContext)
void
Cette fonction enregistre un rappel pour fournir les datagrammes IPv6 reçus.
otIp6SetReceiveFilterEnabled(otInstance *aInstance, bool aEnabled)
void
Cette fonction détermine si le trafic de contrôle des fils de discussion est filtré ou non lors de l'envoi des datagrammes IPv6 via le rappel spécifié dans otIp6SetReceiveCallback().
otIp6SetSlaacEnabled(otInstance *aInstance, bool aEnabled)
void
Cette fonction permet d'activer ou de désactiver le module SLAAC.
otIp6SetSlaacPrefixFilter(otInstance *aInstance, otIp6SlaacPrefixFilter aFilter)
void
Cette fonction définit le gestionnaire de filtre de module SLAAC.
otIp6SockAddrToString(const otSockAddr *aSockAddr, char *aBuffer, uint16_t aSize)
void
Cette fonction convertit une adresse de socket IPv6 donnée en une chaîne lisible.
otIp6SubscribeMulticastAddress(otInstance *aInstance, const otIp6Address *aAddress)
Abonner l'interface Thread à une adresse de multidiffusion d'interface réseau.
otIp6UnsubscribeMulticastAddress(otInstance *aInstance, const otIp6Address *aAddress)
Désabonnez-vous de l'interface Thread à une adresse de multidiffusion d'interface réseau.

Structures

otIp6Address

Cette structure représente une adresse IPv6.

otIp6AddressComponents

Cette structure représente les composants d'une adresse IPv6.

otIp6AddressInfo

Cette structure représente les informations d'adresse IPv6.

otIp6InterfaceIdentifier

Cette structure représente l'identifiant d'interface d'une adresse IPv6.

otIp6NetworkPrefix

Cette structure représente le préfixe réseau d'une adresse IPv6 (64 bits le plus significatif de l'adresse).

otIp6Prefix

Cette structure représente un préfixe IPv6.

otMessageInfo

Cette structure représente les adresses de socket IPv6 locales et de pairs.

otNetifAddress

Cette structure représente une adresse unicast d'interface réseau IPv6.

otNetifMulticastAddress

Cette structure représente une adresse de multidiffusion d'interface réseau IPv6.

otSockAddr

Cette structure représente une adresse de socket IPv6.

Union

otIp6InterfaceIdentifier::OT_tool_PACKED_FIELD

Énumérations

énumération anonyme

 anonymous enum

Origines des adresses IPv6.

Properties
OT_ADDRESS_ORIGIN_DHCPV6

Adresse attribuée DHCPv6.

OT_ADDRESS_ORIGIN_MANUAL

Adresse attribuée manuellement.

OT_ADDRESS_ORIGIN_SLAAC

Adresse attribuée au contrat de niveau de service

OT_ADDRESS_ORIGIN_THREAD

Adresse Thread attribuée (ALOC, RLOC, MLEID, etc.)

énumération anonyme

 anonymous enum

États ECN, représentés dans l'en-tête IP.

Properties
OT_ECN_CAPABLE_0

ECT(0)

OT_ECN_CAPABLE_1

ECT(1)

OT_ECN_MARKED

Embouteillages rencontrés (CE)

OT_ECN_NOT_CAPABLE

sans ECT

énumération anonyme

 anonymous enum

Numéros de protocole Internet

Properties
OT_IP6_PROTO_DST_OPTS

Options de destination pour IPv6

OT_IP6_PROTO_FRAGMENT

En-tête de fragment pour IPv6.

OT_IP6_PROTO_HOP_OPTS

Option IPv6 Hop-by-Hop.

OT_IP6_PROTO_ICMP6

ICMP pour IPv6.

OT_IP6_PROTO_IP6

Encapsulation IPv6

OT_IP6_PROTO_NONE

Aucun en-tête suivant pour IPv6.

OT_IP6_PROTO_ROUTING

En-tête de routage pour IPv6.

OT_IP6_PROTO_TCP

protocole de contrôle de transmission.

OT_IP6_PROTO_UDP

Datagram de l'utilisateur.

Définitions

OTIP6Address

struct otIp6Address otIp6Address

Cette structure représente une adresse IPv6.

OTIp6AddressCallback

void(* otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext)

Ce pointeur de fonction est appelé lorsqu'une adresse IPv6 interne est ajoutée ou supprimée.

Détails
Paramètres
[in] aAddressInfo
Un pointeur vers les informations d'adresse IPv6.
[in] aIsAdded
Prend la valeur TRUE si aAddress a été ajoutée ou FALSE si aAddress a été supprimé.
[in] aContext
Un pointeur vers un contexte spécifique à l'application

otIp6AdresseComposants

struct otIp6AddressComponents otIp6AddressComponents

Cette structure représente les composants d'une adresse IPv6.

OTIp6AddressInfo

struct otIp6AddressInfo otIp6AddressInfo

otIp6InterfaceIdentifier

struct otIp6InterfaceIdentifier otIp6InterfaceIdentifier

Cette structure représente l'identifiant d'interface d'une adresse IPv6.

OTIp6NetworkPrefix

struct otIp6NetworkPrefix otIp6NetworkPrefix

Cette structure représente le préfixe réseau d'une adresse IPv6 (64 bits le plus significatif de l'adresse).

otIp6Préfixe

struct otIp6Prefix otIp6Prefix

Cette structure représente un préfixe IPv6.

OTIp6ReceiveCallback

void(* otIp6ReceiveCallback)(otMessage *aMessage, void *aContext)

Ce pointeur de fonction est appelé lorsqu'un diagramme de données IPv6 est reçu.

Détails
Paramètres
[in] aMessage
Pointeur vers le tampon de message contenant le datagramme IPv6 reçu. Cette fonction transfère la propriété de aMessage au destinataire du rappel. Le message doit être libéré par le destinataire du rappel une fois qu'il a été traité (voir otMessageFree()).
[in] aContext
Un pointeur vers un contexte spécifique à l'application

otIp6RegisterMulticastListenersCallback

void(* otIp6RegisterMulticastListenersCallback)(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum)

Ce pointeur de fonction est appelé avec les résultats de otIp6RegisterMulticastListeners.

Détails
Paramètres
[in] aContext
Un pointeur vers le contexte de l'utilisateur
[in] aError
OT_ERROR_NONE lors de l'envoi de MLR.req et de la réception de MLR.rsp, OT_ERROR_RESPONSE_TIMEOUT en cas d'échec de la réception de MLR.rsp, OT_ERROR_PARSE en cas d'échec de l'analyse de MLR.rsp.
[in] aMlrStatus
État de l'enregistrement de l'écouteur Multicast lorsque aError est OT_ERROR_NONE.
[in] aFailedAddresses
Un pointeur vers les adresses IPv6 ayant échoué lorsque aError est OT_ERROR_NONE.
[in] aFailedAddressNum
Nombre d'adresses IPv6 ayant échoué lorsque OT_ERROR_NONE est aError.
Voir aussi:
otIp6RegisterMulticastListeners

otIp6SlaacPrefixFilter

bool(* otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix *aPrefix)

Ce pointeur de fonction permet à l'utilisateur de filtrer les préfixes et de ne pas autoriser l'ajout d'une adresse SLAAC basée sur un préfixe.

otIp6SetSlaacPrefixFilter() peut être utilisé pour définir le gestionnaire de filtres. Le gestionnaire de filtres appelle le module SLAAC lorsqu'il est sur le point d'ajouter une adresse SLAAC basée sur un préfixe. Sa valeur booléenne détermine si l'adresse est filtrée (non ajoutée).

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
[in] aPrefix
Pointeur vers le préfixe pour lequel l'adresse SLAAC est sur le point d'être ajoutée.
Valeurs renvoyées
TRUE
Indique que l'adresse SLAAC basée sur le préfixe doit être filtrée et NON ajoutée.
FALSE
Indique que l'adresse SLAAC basée sur le préfixe doit être ajoutée.

OTMessageInfo

struct otMessageInfo otMessageInfo

Cette structure représente les adresses de socket IPv6 locales et de pairs.

OTNetifAddress

struct otNetifAddress otNetifAddress

Cette structure représente une adresse unicast d'interface réseau IPv6.

otNetifMulticastAddress

struct otNetifMulticastAddress otNetifMulticastAddress

Cette structure représente une adresse de multidiffusion d'interface réseau IPv6.

OTSockAddr

struct otSockAddr otSockAddr

Cette structure représente une adresse de socket IPv6.

Variables

OT_tools_PACKED_END

OT_TOOL_PACKED_BEGIN struct otIp6InterfaceIdentifier OT_TOOL_PACKED_END

Fonctions

otIp6AjouterUniUniAddress

otError otIp6AddUnicastAddress(
  otInstance *aInstance,
  const otNetifAddress *aAddress
)

Ajoutez une adresse d'interface réseau à l'interface Thread.

L'instance transmise aAddress est copiée par l'interface Thread. L'interface Thread n'accepte qu'un nombre fixe d'adresses unicast externes. Voir OPENThread_CONFIG_IP6_MAX_EXT_UCAST_ADDRS.

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
[in] aAddress
Pointeur vers une adresse d'interface réseau.
Valeurs renvoyées
OT_ERROR_NONE
L'adresse réseau a bien été ajoutée (ou mise à jour).
OT_ERROR_INVALID_ARGS
L'adresse IP indiquée par aAddress est une adresse interne.
OT_ERROR_NO_BUFS
L'interface réseau stocke déjà les adresses externes autorisées.

otIp6AjouterUnsecurePort

otError otIp6AddUnsecurePort(
  otInstance *aInstance,
  uint16_t aPort
)

Cette fonction ajoute un port à la liste de ports non sécurisés autorisés.

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
[in] aPort
Valeur du port.
Valeurs renvoyées
OT_ERROR_NONE
Le port a bien été ajouté à la liste de ports non sécurisés autorisés.
OT_ERROR_INVALID_ARGS
Le port n'est pas valide (la valeur 0 est réservée à un usage interne).
OT_ERROR_NO_BUFS
La liste de ports non sécurisés est pleine.

otIp6AdresseDeChaîne

otError otIp6AddressFromString(
  const char *aString,
  otIp6Address *aAddress
)

Cette fonction convertit une chaîne d'adresse IPv6 lisible en représentation binaire.

Détails
Paramètres
[in] aString
Pointeur vers une chaîne dont la valeur est fermée.
[out] aAddress
Pointeur vers une adresse IPv6.
Valeurs renvoyées
OT_ERROR_NONE
La chaîne a bien été analysée.
OT_ERROR_INVALID_ARGS
Échec de l'analyse de la chaîne.

otIp6AdresseToString

void otIp6AddressToString(
  const otIp6Address *aAddress,
  char *aBuffer,
  uint16_t aSize
)

Cette fonction convertit une adresse IPv6 donnée en une chaîne lisible.

La chaîne d'adresse IPv6 est au format 16 valeurs hexadécimales séparées par '' (ex. "%x:%x:%x:...:%x").

Si la chaîne obtenue ne tient pas dans aBuffer (dans ses caractères aSize), elle sera tronquée, mais la chaîne générée sera toujours arrivée à expiration.

Détails
Paramètres
[in] aAddress
Pointeur vers une adresse IPv6 (NE DOIT PAS être NULL).
[out] aBuffer
Pointeur vers un tableau de caractères pour générer la chaîne (NE DOIT PAS être NULL).
[in] aSize
Taille de aBuffer (en octets). Recommandé pour utiliser OT_IP6_ADDRESS_STRING_SIZE.

otIp6ArePrefixesEqual

bool otIp6ArePrefixesEqual(
  const otIp6Prefix *aFirst,
  const otIp6Prefix *aSecond
)

Vérifiez si deux préfixes IPv6 sont identiques.

Détails
Paramètres
[in] aFirst
Pointeur vers le premier préfixe IPv6 à comparer.
[in] aSecond
Pointeur vers le deuxième préfixe IPv6 à comparer.
Valeurs renvoyées
TRUE
Les deux préfixes IPv6 sont identiques.
FALSE
Les deux préfixes IPv6 sont différents.

otIp6GetMulticastAddresses

const otNetifMulticastAddress * otIp6GetMulticastAddresses(
  otInstance *aInstance
)

Obtenez la liste des adresses multicast IPv6 abonnées à l'interface Thread.

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
Renvoie
Pointeur vers la première adresse de diffusion multi-interface de l'interface réseau.

otIp6GetUnicastAddresses

const otNetifAddress * otIp6GetUnicastAddresses(
  otInstance *aInstance
)

Obtenez la liste des adresses IPv6 attribuées à l'interface Thread.

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
Renvoie
Pointeur vers la première adresse de l'interface réseau.

otIp6GetUnsecurePorts

const uint16_t * otIp6GetUnsecurePorts(
  otInstance *aInstance,
  uint8_t *aNumEntries
)

Cette fonction renvoie un pointeur vers la liste de ports non sécurisés.

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
[out] aNumEntries
Nombre d'entrées dans la liste.
Renvoie
Un pointeur vers la liste des ports non sécurisés

otIp6IsAddressEqual

bool otIp6IsAddressEqual(
  const otIp6Address *aFirst,
  const otIp6Address *aSecond
)

Vérifiez si deux adresses IPv6 sont identiques.

Détails
Paramètres
[in] aFirst
Pointeur vers la première adresse IPv6 à comparer.
[in] aSecond
Pointeur vers la deuxième adresse IPv6 à comparer.
Valeurs renvoyées
TRUE
Les deux adresses IPv6 sont identiques.
FALSE
Les deux adresses IPv6 ne sont pas identiques.

otIp6IsAddressNon spécifié

bool otIp6IsAddressUnspecified(
  const otIp6Address *aAddress
)

Cette fonction indique si l'adresse IPv6 donnée est ou non l'adresse non spécifiée.

Détails
Paramètres
[in] aAddress
Pointeur vers une adresse IPv6.
Valeurs renvoyées
TRUE
Si l'adresse IPv6 est l'adresse non spécifiée.
FALSE
Si l'adresse IPv6 n'est pas l'adresse non spécifiée.

OTIp6IsEnabled

bool otIp6IsEnabled(
  otInstance *aInstance
)

Cette fonction indique si l'interface IPv6 est opérationnelle.

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
Valeurs renvoyées
TRUE
L'interface IPv6 est activée.
FALSE
L'interface IPv6 est désactivée.

otIp6IsMulticastPromiscuousEnabled

bool otIp6IsMulticastPromiscuousEnabled(
  otInstance *aInstance
)

Vérifiez si le mode multidiffusion est activé dans l'interface Thread.

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
Voir aussi :
otIp6SetMulticastPromiscuousEnabled

otIp6IsReceiveFilterEnabled

bool otIp6IsReceiveFilterEnabled(
  otInstance *aInstance
)

Cette fonction indique si le trafic des commandes Thread est filtré lors de l'envoi des datagrammes IPv6 via le rappel spécifié dans otIp6SetReceiveCallback().

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
Renvoie
Prend la valeur TRUE si le trafic de contrôle du fil de discussion est filtré.
Voir aussi:
otIp6SetReceiveCallback
otIp6SetReceiveFilterEnabled

OTIp6IsSlaacEnabled

bool otIp6IsSlaacEnabled(
  otInstance *aInstance
)

Cette fonction indique si le module SLAAC est activé ou non.

Cette fonction nécessite l'activation de la fonctionnalité de compilation OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE.

Détails
Valeurs renvoyées
TRUE
Le module SLAAC est activé.
FALSE
Module Module SLAAC désactivé.

OTIp6Nouveau message

otMessage * otIp6NewMessage(
  otInstance *aInstance,
  const otMessageSettings *aSettings
)

Allouer une nouvelle mémoire tampon pour l'envoi d'un message IPv6

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
[in] aSettings
Pointeur vers les paramètres du message ou NULL pour définir les paramètres par défaut.
Renvoie
Pointeur vers le tampon de message ou NULL si aucun tampon de message n'est disponible ou que les paramètres ne sont pas valides.
Voir aussi :
otMessageFree

otIp6NouveauMessageDeBuffer

otMessage * otIp6NewMessageFromBuffer(
  otInstance *aInstance,
  const uint8_t *aData,
  uint16_t aDataLength,
  const otMessageSettings *aSettings
)

Allouez un nouveau tampon de message et écrivez le datagramme IPv6 dans le tampon de message pour envoyer un message IPv6.

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
[in] aData
Pointeur vers le tampon de datagramme IPv6.
[in] aDataLength
Taille du tampon de données IPv6 indiqué par aData.
[in] aSettings
Pointeur vers les paramètres du message ou NULL pour définir les paramètres par défaut.
Renvoie
Pointeur vers le message ou NULL si l'en-tête IPv6 est mal formé ou si la mise en mémoire tampon des messages est insuffisante.
Voir aussi :
otMessageFree

otIp6PréfixeMatch

uint8_t otIp6PrefixMatch(
  const otIp6Address *aFirst,
  const otIp6Address *aSecond
)

Cette fonction renvoie la longueur de correspondance du préfixe (bits) pour deux adresses IPv6.

Détails
Paramètres
[in] aFirst
Pointeur vers la première adresse IPv6.
[in] aSecond
Pointeur vers la deuxième adresse IPv6.
Renvoie
Longueur de correspondance du préfixe en bits.

otIp6PréfixeToString

void otIp6PrefixToString(
  const otIp6Prefix *aPrefix,
  char *aBuffer,
  uint16_t aSize
)

Cette fonction convertit un préfixe IPv6 donné en une chaîne lisible.

La chaîne d'adresse IPv6 est au format "%x:%x:%x:...[::]/plen".

Si la chaîne obtenue ne tient pas dans aBuffer (dans ses caractères aSize), elle sera tronquée, mais la chaîne générée sera toujours arrivée à expiration.

Détails
Paramètres
[in] aPrefix
Pointeur vers un préfixe IPv6 (NE DOIT PAS être NULL).
[out] aBuffer
Pointeur vers un tableau de caractères pour générer la chaîne (NE DOIT PAS être NULL).
[in] aSize
Taille de aBuffer (en octets). Recommandé pour utiliser OT_IP6_PREFIX_STRING_SIZE.

OTIp6ProtoToString

const char * otIp6ProtoToString(
  uint8_t aIpProto
)

Cette fonction convertit un numéro de protocole IP donné en chaîne lisible.

Détails
Paramètres
[in] aIpProto
Numéro de protocole IP (énumération OT_IP6_PROTO_*).
Renvoie
Chaîne représentant aIpProto.

otIp6RegisterMulticastListeners

otError otIp6RegisterMulticastListeners(
  otInstance *aInstance,
  const otIp6Address *aAddresses,
  uint8_t aAddressNum,
  const uint32_t *aTimeout,
  otIp6RegisterMulticastListenersCallback aCallback,
  void *aContext
)

Cette fonction enregistre les écouteurs Multicast sur le routeur backbone principal.

Remarque: Cette option n'est disponible que si OPENTHREAD_CONFIG_TMF_PROXY_MLR_ENABLE et OPENTHREAD_CONFIG_COMMISSIONER_ENABLE sont activées.

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
[in] aAddresses
Tableau d'adresses multicast à enregistrer.
[in] aAddressNum
Nombre d'adresses multicast à enregistrer (0 si aAddresses est NULL).
[in] aTimeout
Pointeur vers la valeur du délai d'inactivité (en secondes) à inclure dans MLR.req. Une valeur de délai avant expiration de 0 supprime l'écouteur multicast correspondant. Si la valeur est NULL, le paramètre TLV du délai d'inactivité de MLR.req ne sera pas appliqué par défaut.
[in] aCallback
Pointeur vers la fonction de rappel.
[in] aContext
Un pointeur vers le contexte de l'utilisateur
Valeurs renvoyées
OT_ERROR_NONE
MLR.req a bien été envoyé. Le aCallback sera appelé si cette méthode renvoie OT_ERROR_NONE.
OT_ERROR_BUSY
Si un enregistrement précédent était en cours.
OT_ERROR_INVALID_ARGS
Si un ou plusieurs arguments ne sont pas valides.
OT_ERROR_INVALID_STATE
Si l'appareil n'est pas dans un état valide pour envoyer MLR.req (par exemple, le commissaire n'a pas démarré, le routeur backbone principal est introuvable).
OT_ERROR_NO_BUFS
Si le tampon de message est insuffisant,
Voir aussi :
otIp6RegisterMulticastListenersCallback

otIp6RemoveAllUnsecurePorts

void otIp6RemoveAllUnsecurePorts(
  otInstance *aInstance
)

Cette fonction supprime tous les ports de la liste des ports non sécurisés autorisés.

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.

otIp6SupprimerAdresseUnicast

otError otIp6RemoveUnicastAddress(
  otInstance *aInstance,
  const otIp6Address *aAddress
)

Supprimer une adresse de l'interface réseau de l'interface Thread

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
[in] aAddress
Pointeur vers une adresse IP.
Valeurs renvoyées
OT_ERROR_NONE
L'adresse de l'interface réseau a bien été supprimée.
OT_ERROR_INVALID_ARGS
L'adresse IP indiquée par aAddress est une adresse interne.
OT_ERROR_NOT_FOUND
L'adresse IP indiquée par aAddress est introuvable.

otIp6RemoveUnsecurePort

otError otIp6RemoveUnsecurePort(
  otInstance *aInstance,
  uint16_t aPort
)

Cette fonction supprime un port de la liste des ports non sécurisés autorisés.

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
[in] aPort
Valeur du port.
Valeurs renvoyées
OT_ERROR_NONE
Le port a bien été supprimé de la liste des ports non sécurisés autorisés.
OT_ERROR_INVALID_ARGS
Le port n'est pas valide (la valeur 0 est réservée à un usage interne).
OT_ERROR_NOT_FOUND
Le port est introuvable dans la liste des ports non sécurisés.

otIp6Sélectionner une adresse source

otError otIp6SelectSourceAddress(
  otInstance *aInstance,
  otMessageInfo *aMessageInfo
)

Cette fonction effectue la sélection d'adresse source pour OpenThread.

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
[in,out] aMessageInfo
Un pointeur vers les informations du message.
Valeurs renvoyées
OT_ERROR_NONE
Une adresse source a été trouvée et est renseignée dans mSockAddr de aMessageInfo.
OT_ERROR_NOT_FOUND
Aucune adresse source n'a été trouvée, et aMessageInfo n'a pas été modifié.

OTIp6Send

otError otIp6Send(
  otInstance *aInstance,
  otMessage *aMessage
)

Cette fonction envoie un datagram IPv6 via l'interface Thread.

L'appelant transfère la propriété de aMessage lors de cet appel. OpenThread libérera aMessage une fois le traitement terminé, y compris lorsqu'une valeur autre que OT_ERROR_NONE sera renvoyée.

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
[in] aMessage
Pointeur vers le tampon de message contenant le datagramme IPv6.
Valeurs renvoyées
OT_ERROR_NONE
Le message a bien été traité.
OT_ERROR_DROP
Le message a été correctement formé, mais n'a pas été entièrement traité en raison des règles de traitement des paquets.
OT_ERROR_NO_BUFS
Impossible d'allouer les tampons de message nécessaires lors du traitement du datagramme.
OT_ERROR_NO_ROUTE
Aucune route à héberger.
OT_ERROR_INVALID_SOURCE_ADDRESS
L'adresse source n'est pas valide (par exemple, une adresse Anycast ou multicast).
OT_ERROR_PARSE
Un en-tête mal formé a été détecté lors du traitement du message.

otIp6EnsembleAddressCallback

void otIp6SetAddressCallback(
  otInstance *aInstance,
  otIp6AddressCallback aCallback,
  void *aCallbackContext
)

Cette fonction enregistre un rappel pour signaler les modifications apportées aux adresses IPv6 internes.

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
[in] aCallback
Pointeur vers une fonction appelée lorsqu'une adresse IPv6 interne est ajoutée ou supprimée. NULL pour désactiver le rappel.
[in] aCallbackContext
Un pointeur vers un contexte spécifique à l'application

OTIp6SetEnabled

otError otIp6SetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Cette fonction affiche l'interface IPv6 vers le haut ou le bas.

Appelez cette fonction pour activer/désactiver la communication IPv6.

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
[in] aEnabled
Prend la valeur TRUE pour activer IPv6 ou FALSE dans le cas contraire.
Valeurs renvoyées
OT_ERROR_NONE
L'interface IPv6 a bien été affichée.
OT_ERROR_INVALID_STATE
L'interface IPv6 n'est pas disponible, car l'appareil fonctionne en mode lien brut (applicable uniquement lorsque la fonctionnalité OPENTHREAD_CONFIG_LINK_RAW_ENABLE est activée).

otIp6SetMeshLocalIid

otError otIp6SetMeshLocalIid(
  otInstance *aInstance,
  const otIp6InterfaceIdentifier *aIid
)

Cette fonction définit l'ID unique du réseau maillé (à des fins de test).

Disponible uniquement lorsque OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE est activé.

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
[in] aIid
Pointeur vers l'ID unique du réseau maillé à définir.
Valeurs renvoyées
OT_ERROR_NONE
L'ID du réseau maillé local a bien été défini.
OT_ERROR_INVALID_STATE
Les protocoles Thread sont activés.

otIp6SetMulticastPromiscuousEnabled

void otIp6SetMulticastPromiscuousEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Activez le mode multiple de diffusion multiple sur l'interface Thread.

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
[in] aEnabled
Prend la valeur TRUE pour activer le mode multiple de diffusion multiple, ou FALSE dans le cas contraire.
Voir aussi :
otIp6IsMulticastPromiscuousEnabled

otIp6SetReceiveCallback

void otIp6SetReceiveCallback(
  otInstance *aInstance,
  otIp6ReceiveCallback aCallback,
  void *aCallbackContext
)

Cette fonction enregistre un rappel pour fournir les datagrammes IPv6 reçus.

Par défaut, ce rappel ne transmet pas le trafic des commandes Thread. Accédez à otIp6SetReceiveFilterEnabled() pour modifier le paramètre de filtre de trafic du contrôle des fils de discussion.

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
[in] aCallback
Pointeur vers une fonction qui est appelée lorsqu'un datagram IPv6 est reçu ou NULL pour désactiver le rappel.
[in] aCallbackContext
Un pointeur vers un contexte spécifique à l'application
Voir aussi:
otIp6IsReceiveFilterEnabled
otIp6SetFilterFilterEnabled

otIp6SetReceiveFilterEnabled

void otIp6SetReceiveFilterEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Cette fonction détermine si le trafic de contrôle des fils de discussion est filtré ou non lors de l'envoi des datagrammes IPv6 via le rappel spécifié dans otIp6SetReceiveCallback().

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
[in] aEnabled
Prend la valeur TRUE si le trafic de contrôle du fil de discussion est filtré.
Voir aussi :
otIp6SetReceiveCallback
otIsReceiveIp6FilterEnabled

otIp6SetSlaacEnabled

void otIp6SetSlaacEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Cette fonction permet d'activer ou de désactiver le module SLAAC.

Cette fonction nécessite l'activation de la fonctionnalité de compilation OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE.

Lorsque le module SLAAC est activé, les adresses SLAAC (basées sur les préfixes de réseau maillé dans les données réseau) sont ajoutées à l'interface. Lorsque le module SLAAC est désactivé, toute adresse SLAAC ajoutée précédemment est supprimée.

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
[in] aEnabled
TRUE pour activer, désactiver pour FALSE.

otIp6SetSlaacPrefixFilter

void otIp6SetSlaacPrefixFilter(
  otInstance *aInstance,
  otIp6SlaacPrefixFilter aFilter
)

Cette fonction définit le gestionnaire de filtre de module SLAAC.

Cette fonction nécessite l'activation de la fonctionnalité de compilation OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE.

Le gestionnaire de filtres est appelé par le module SLAAC lorsqu'il est sur le point d'ajouter une adresse SLAAC en fonction d'un préfixe pour déterminer si l'adresse doit être ajoutée ou non.

Un gestionnaire de filtres NULL désactive le filtrage et permet d'ajouter toutes les adresses SLAAC.

Si cette fonction n'est pas appelée, le filtre par défaut utilisé par le module SLAAC est NULL (le filtrage est désactivé).

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
[in] aFilter
Pointeur vers le gestionnaire de filtre de préfixe SLAAC ou NULL pour désactiver le filtrage.

OTIp6SockAddrToString

void otIp6SockAddrToString(
  const otSockAddr *aSockAddr,
  char *aBuffer,
  uint16_t aSize
)

Cette fonction convertit une adresse de socket IPv6 donnée en une chaîne lisible.

La chaîne d'adresse du socket IPv6 est au format "[

]:&où ; `
s'affiche sous la forme de 16 valeurs hexadécimales séparées par '' et correspond au numéro de port au format décimal (par exemple, "[%x:%x:...:%x]:%u"]

Si la chaîne obtenue ne tient pas dans aBuffer (dans ses caractères aSize), elle sera tronquée, mais la chaîne générée sera toujours arrivée à expiration.

Détails
Paramètres
[in] aSockAddr
Pointeur vers une adresse de socket IPv6 (NE DOIT PAS être NULL).
[out] aBuffer
Pointeur vers un tableau de caractères pour générer la chaîne (NE DOIT PAS être NULL).
[in] aSize
Taille de aBuffer (en octets). Recommandé pour utiliser OT_IP6_SOCK_ADDR_STRING_SIZE.

otIp6S'abonnerMulticastAddress

otError otIp6SubscribeMulticastAddress(
  otInstance *aInstance,
  const otIp6Address *aAddress
)

Abonner l'interface Thread à une adresse de multidiffusion d'interface réseau.

L'instance aAddress transmise sera copiée par l'interface Thread. L'interface Thread n'accepte qu'un nombre défini d'adresses de multidiffusion ajoutées en externe. Voir OPENThread_CONFIG_IP6_MAX_EXT_MCAST_ADDRS.

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
[in] aAddress
Pointeur vers une adresse IP.
Valeurs renvoyées
OT_ERROR_NONE
Vous vous êtes bien abonné à l'adresse multicast de l'interface réseau.
OT_ERROR_ALREADY
L'adresse multicast est déjà abonnée.
OT_ERROR_INVALID_ARGS
L'adresse IP indiquée par aAddress est une adresse de multidiffusion non valide.
OT_ERROR_REJECTED
L'adresse IP indiquée par aAddress est une adresse de multidiffusion interne.
OT_ERROR_NO_BUFS
L'interface réseau stocke déjà le nombre maximal d'adresses multicast externes autorisées.

otIp6UnsubscribeMulticastAddress

otError otIp6UnsubscribeMulticastAddress(
  otInstance *aInstance,
  const otIp6Address *aAddress
)

Désabonnez-vous de l'interface Thread à une adresse de multidiffusion d'interface réseau.

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
[in] aAddress
Pointeur vers une adresse IP.
Valeurs renvoyées
OT_ERROR_NONE
Vous vous êtes bien désabonné de l'adresse multicast de l'interface réseau.
OT_ERROR_REJECTED
L'adresse IP indiquée par aAddress est une adresse interne.
OT_ERROR_NOT_FOUND
L'adresse IP indiquée par aAddress est introuvable.

Macros

OT_IP6_ADDRESS_SIZE

 OT_IP6_ADDRESS_SIZE 16

Taille d'une adresse IPv6 (octets)

OT_IP6_ADDRESS_STRING

 OT_IP6_ADDRESS_STRING_SIZE 40

Taille recommandée pour la représentation sous forme de chaîne d'une adresse IPv6.

OT_IP6_IID_SIZE

 OT_IP6_IID_SIZE 8

Taille d'un identifiant d'interface IPv6 (octets)

OT_IP6_MAX_MLR_ADDRESSES

 OT_IP6_MAX_MLR_ADDRESSES 15

Nombre maximal d'adresses IPv6 compatibles avec l'enregistrement d'auditeurs multicast.

OT_IP6_PREFIX_BITSIZE

 OT_IP6_PREFIX_BITSIZE (OT_IP6_PREFIX_SIZE * 8)

Taille d'un préfixe IPv6 (bits)

OT_IP6_PREFIX_SIZE

 OT_IP6_PREFIX_SIZE 8

Taille d'un préfixe IPv6 (octets)

OT_IP6_PREFIX_STRING_SIZE

 OT_IP6_PREFIX_STRING_SIZE 45

Taille recommandée pour la représentation sous forme de chaîne d'un préfixe IPv6.

OT_IP6_SOCK_ADDR_STRING_SIZE

 OT_IP6_SOCK_ADDR_STRING_SIZE 48

Taille recommandée pour la représentation de la chaîne d'une adresse de socket IPv6.

Resources

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