Google is committed to advancing racial equity for Black communities. See how.
Cette page a été traduite par l'API Cloud Translation.
Switch to English

IPv6

Ce module comprend des fonctions qui contrôlent 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
}
énumération
Origines de l'adresse IPv6.

Typedefs

otIp6Address typedef
struct otIp6Address
Cette structure représente une adresse IPv6.
otIp6AddressCallback )(const otIp6Address *aAddress, uint8_t aPrefixLength, bool aIsAdded, void *aContext) typedef
void(*
Ce pointeur de fonction est appelé lorsqu'une adresse IPv6 interne est ajoutée ou supprimée.
otIp6AddressComponents typedef
Cette structure représente les composants d'une adresse IPv6.
otIp6InterfaceIdentifier typedef
Cette structure représente l'identifiant d'interface d'une adresse IPv6.
otIp6NetworkPrefix typedef
Cette structure représente le préfixe réseau d'une adresse IPv6 (64 bits les plus significatifs de l'adresse).
otIp6Prefix typedef
struct otIp6Prefix
Cette structure représente un préfixe IPv6.
otIp6ReceiveCallback )(otMessage *aMessage, void *aContext) typedef
void(*
Ce pointeur de fonction est appelé lorsqu'un datagramme IPv6 est reçu.
otIp6RegisterMulticastListenersCallback )(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum) typedef
void(*
Ce pointeur de fonction est appelé avec les résultats de otIp6RegisterMulticastListeners .
otIp6SlaacPrefixFilter )(otInstance *aInstance, const otIp6Prefix *aPrefix) typedef
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 typedef
struct otMessageInfo
Cette structure représente les adresses de socket IPv6 locales et homologues.
otNetifAddress typedef
Cette structure représente une adresse de monodiffusion d'interface réseau IPv6.
otNetifMulticastAddress typedef
Cette structure représente une adresse de multidiffusion d'interface réseau IPv6.
otSockAddr typedef
struct otSockAddr
Cette structure représente une adresse de socket IPv6.

Variables

OT_TOOL_PACKED_END

Les 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 des ports non sécurisés autorisés.
otIp6AddressFromString (const char *aString, otIp6Address *aAddress)
Convertissez une chaîne d'adresse IPv6 lisible par l'homme en une représentation binaire.
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 des ports non sécurisés.
otIp6IsAddressEqual (const otIp6Address *aFirst, const otIp6Address *aSecond)
bool
Testez si deux adresses IPv6 sont identiques.
otIp6IsAddressUnspecified (const otIp6Address *aAddress)
bool
Cette fonction indique si une adresse IPv6 donnée est ou non une adresse non spécifiée.
otIp6IsEnabled ( otInstance *aInstance)
bool
Cette fonction indique si l'interface IPv6 est active ou non.
otIp6IsMulticastPromiscuousEnabled ( otInstance *aInstance)
bool
Vérifiez si le mode de diffusion multiple est activé sur l'interface Thread.
otIp6IsReceiveFilterEnabled ( otInstance *aInstance)
bool
Cette fonction indique si le trafic de contrôle Thread est filtré ou non lors de la livraison de 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)
Allouez un nouveau tampon de messages 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.
otIp6RegisterMulticastListeners ( otInstance *aInstance, const otIp6Address *aAddresses, uint8_t aAddressNum, const uint32_t *aTimeout, otIp6RegisterMulticastListenersCallback aCallback, void *aContext)
Cette fonction enregistre les écouteurs de multidiffusion sur le routeur 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)
Supprimez une adresse d'interface réseau de l'interface de 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 de l'adresse source OpenThread.
otIp6Send ( otInstance *aInstance, otMessage *aMessage)
Cette fonction envoie un datagramme IPv6 via l'interface Thread.
otIp6SetAddressCallback ( otInstance *aInstance, otIp6AddressCallback aCallback, void *aCallbackContext)
void
Cette fonction enregistre un rappel pour notifier les changements d'adresse IPv6 interne.
otIp6SetEnabled ( otInstance *aInstance, bool aEnabled)
Cette fonction active / désactive l'interface IPv6.
otIp6SetMulticastPromiscuousEnabled ( otInstance *aInstance, bool aEnabled)
void
Activez le mode 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éfinit si le trafic de contrôle Thread est filtré ou non lors de la livraison de datagrammes IPv6 via le rappel spécifié dans otIp6SetReceiveCallback () .
otIp6SetSlaacEnabled ( otInstance *aInstance, bool aEnabled)
void
Cette fonction active / désactive le module SLAAC.
otIp6SetSlaacPrefixFilter ( otInstance *aInstance, otIp6SlaacPrefixFilter aFilter)
void
Cette fonction définit le gestionnaire de filtre du module SLAAC.
otIp6SubscribeMulticastAddress ( otInstance *aInstance, const otIp6Address *aAddress)
Abonnez l'interface de 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.

Structs

otIp6Address

Cette structure représente une adresse IPv6.

otIp6AddressComponents

Cette structure représente les composants d'une 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 les plus significatifs de l'adresse).

otIp6Prefix

Cette structure représente un préfixe IPv6.

otMessageInfo

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

otNetifAddress

Cette structure représente une adresse de monodiffusion 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.

Les syndicats

otIp6InterfaceIdentifier :: OT_TOOL_PACKED_FIELD

Énumérations

énumération anonyme

 anonymous enum

Origines de l'adresse IPv6.

Propriétés
OT_ADDRESS_ORIGIN_DHCPV6

Adresse attribuée par DHCPv6.

OT_ADDRESS_ORIGIN_MANUAL

Adresse attribuée manuellement.

OT_ADDRESS_ORIGIN_SLAAC

Adresse attribuée par SLAAC.

OT_ADDRESS_ORIGIN_THREAD

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

Typedefs

otIp6Address

struct otIp6Address otIp6Address

Cette structure représente une adresse IPv6.

otIp6AddressCallback

void(* otIp6AddressCallback)(const otIp6Address *aAddress, uint8_t aPrefixLength, 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] aAddress
Un pointeur vers l'adresse IPv6.
[in] aPrefixLength
La longueur du préfixe si aAddress est une adresse de monodiffusion et 128 pour une adresse de multidiffusion.
[in] aIsAdded
TRUE si aAddress été ajouté, FALSE si aAddress été supprimé.
[in] aContext
Un pointeur vers le contexte spécifique à l'application.

otIp6AddressComponents

struct otIp6AddressComponents otIp6AddressComponents

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

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 les plus significatifs de l'adresse).

otIp6Prefix

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 datagramme IPv6 est reçu.

Détails
Paramètres
[in] aMessage
Un pointeur vers le tampon de messages contenant le datagramme IPv6 reçu. Cette fonction transfère la propriété de l' aMessage au destinataire du rappel. Le message doit être libéré par le récepteur du rappel après son traitement (voir otMessageFree () ).
[in] aContext
Un pointeur vers le contexte spécifique à l'application.

otIp6RegisterMulticastListenersRappel

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 utilisateur.
[in] aError
OT_ERROR_NONE lors de l'envoi réussi 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
L'état d'enregistrement de l'écouteur de multidiffusion lorsqu'une aError est OT_ERROR_NONE.
[in] aFailedAddresses
Un pointeur vers les adresses Ip6 ayant échoué lorsque aError est OT_ERROR_NONE.
[in] aFailedAddressNum
Le nombre d'adresses Ip6 ayant échoué lorsqu'une aError est OT_ERROR_NONE.
Voir également:
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 filtre. Le gestionnaire de filtre est appelé par le module SLAAC lorsqu'il est sur le point d'ajouter une adresse SLAAC basée sur un préfixe. Sa valeur de retour booléenne détermine si l'adresse est filtrée (non ajoutée) ou non.

Détails
Paramètres
[in] aInstacne
Un pointeur vers une instance d'OpenThread.
[in] aPrefix
Un pointeur vers le préfixe pour lequel l'adresse SLAAC est sur le point d'être ajoutée.
Valeurs de retour
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 homologues.

otNetifAddress

struct otNetifAddress otNetifAddress

Cette structure représente une adresse de monodiffusion 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_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otIp6InterfaceIdentifier OT_TOOL_PACKED_END

Les fonctions

otIp6AddUnicastAddress

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

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

L'instance aAddress est copiée par l'interface Thread. L'interface Thread prend uniquement en charge un nombre fixe d'adresses de monodiffusion ajoutées en externe. Voir OPENTHREAD_CONFIG_IP6_MAX_EXT_UCAST_ADDRS.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
[in] aAddress
Un pointeur vers une adresse d'interface réseau.
Valeurs de retour
OT_ERROR_NONE
Ajout (ou mise à jour) de l'adresse d'interface réseau avec succès
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à le maximum d'adresses externes autorisées.

otIp6AddUnsecurePort

otError otIp6AddUnsecurePort(
  otInstance *aInstance,
  uint16_t aPort
)

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

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
[in] aPort
La valeur du port.
Valeurs de retour
OT_ERROR_NONE
Le port a été ajouté avec succès à 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_NO_BUFS
La liste des ports non sécurisés est pleine.

otIp6AddressFromString

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

Convertissez une chaîne d'adresse IPv6 lisible par l'homme en une représentation binaire.

Détails
Paramètres
[in] aString
Un pointeur vers une chaîne terminée par NULL.
[out] aAddress
Un pointeur vers une adresse IPv6.
Valeurs de retour
OT_ERROR_NONE
Analyse réussie de la chaîne.
OT_ERROR_INVALID_ARGS
Échec de l'analyse de la chaîne.

otIp6GetMulticastAddresses

const otNetifMulticastAddress * otIp6GetMulticastAddresses(
  otInstance *aInstance
)

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

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
Retour
Un pointeur vers la première adresse de multidiffusion d'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
Un pointeur vers une instance d'OpenThread.
Retour
Un pointeur vers la première adresse d'interface réseau.

otIp6GetUnsecurePorts

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

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

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

otIp6IsAddressEqual

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

Testez si deux adresses IPv6 sont identiques.

Détails
Paramètres
[in] aFirst
Un pointeur vers la première adresse IPv6 à comparer.
[in] aSecond
Un pointeur vers la deuxième adresse IPv6 à comparer.
Valeurs de retour
TRUE
Les deux adresses IPv6 sont identiques.
FALSE
Les deux adresses IPv6 ne sont pas les mêmes.

otIp6IsAddressUnspecified

bool otIp6IsAddressUnspecified(
  const otIp6Address *aAddress
)

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

Détails
Paramètres
[in] aAddress
Un pointeur vers une adresse IPv6.
Valeurs de retour
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 active ou non.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
Valeurs de retour
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 de diffusion multiple est activé sur l'interface Thread.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
Voir également:
otIp6SetMulticastPromiscuousEnabled

otIp6IsReceiveFilterEnabled

bool otIp6IsReceiveFilterEnabled(
  otInstance *aInstance
)

Cette fonction indique si le trafic de contrôle Thread est filtré ou non lors de la livraison de datagrammes IPv6 via le rappel spécifié dans otIp6SetReceiveCallback () .

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
Retour
TRUE si le trafic de contrôle de thread est filtré, FALSE dans le cas contraire.
Voir également:
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 OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE .

Détails
Valeurs de retour
TRUE
Le module SLAAC est activé.
FALSE
Le module SLAAC est désactivé.

otIp6NewMessage

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

Allouez un nouveau tampon de messages pour l'envoi d'un message IPv6.

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

otIp6NewMessageFromBuffer

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

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

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
[in] aData
Un pointeur vers le tampon de datagramme IPv6.
[in] aDataLength
La taille du tampon de datagramme IPv6 pointé par aData .
[in] aSettings
Un pointeur vers les paramètres du message ou NULL pour définir les paramètres par défaut.
Retour
Un pointeur vers le message ou NULL si un en-tête IPv6 mal formé ou des tampons de message insuffisants sont disponibles.
Voir également:
otMessageFree

otIp6PrefixMatch

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
Un pointeur vers la première adresse IPv6.
[in] aSecond
Un pointeur vers la deuxième adresse IPv6.
Retour
La longueur de correspondance du préfixe en bits.

otIp6RegisterMulticastListeners

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

Cette fonction enregistre les écouteurs de multidiffusion sur le routeur principal.

Remarque: disponible uniquement lorsque OPENTHREAD_CONFIG_TMF_PROXY_MLR_ENABLE et OPENTHREAD_CONFIG_COMMISSIONER_ENABLE sont activés)

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
[in] aAddresses
Un tableau d'adresses multidiffusion à enregistrer.
[in] aAddressNum
Le nombre d'adresses de multidiffusion à enregistrer (0 si aAddresses est NULL).
[in] aTimeout
Un pointeur vers la valeur du délai d'expiration (en secondes) à inclure dans MLR.req. Une valeur de délai d'expiration de 0 supprime l'écouteur de multidiffusion correspondant. Si NULL, MLR.req n'aurait pas de Timeout Tlv par défaut.
[in] aCallback
Un pointeur vers la fonction de rappel.
[in] aContext
Un pointeur vers le contexte utilisateur.
Valeurs de retour
OT_ERROR_NONE
MLR.req envoyé avec succès. L' aCallback sera appelé si cette méthode retourne 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 le périphérique n'était pas dans un état valide pour envoyer MLR.req (par exemple, le commissaire n'a pas démarré, le routeur principal principal est introuvable).
OT_ERROR_NO_BUFS
Si les tampons de messages disponibles sont insuffisants.
Voir également:
otIp6RegisterMulticastListenersRappel

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
Un pointeur vers une instance d'OpenThread.

otIp6RemoveUnicastAddress

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

Supprimez une adresse d'interface réseau de l'interface de thread.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
[in] aAddress
Un pointeur vers une adresse IP.
Valeurs de retour
OT_ERROR_NONE
L'adresse d'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 une 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
Un pointeur vers une instance d'OpenThread.
[in] aPort
La valeur du port.
Valeurs de retour
OT_ERROR_NONE
Le port a été supprimé avec succès 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 n'a pas été trouvé dans la liste des ports non sécurisés.

otIp6SelectSourceAddress

otError otIp6SelectSourceAddress(
  otInstance *aInstance,
  otMessageInfo *aMessageInfo
)

Cette fonction effectue la sélection de l'adresse source OpenThread.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
[in,out] aMessageInfo
Un pointeur vers les informations du message.
Valeurs de retour
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 est inchangé.

otIp6Send

otError otIp6Send(
  otInstance *aInstance,
  otMessage *aMessage
)

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

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

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
[in] aMessage
Un pointeur vers le tampon de messages contenant le datagramme IPv6.
Valeurs de retour
OT_ERROR_NONE
Traitement réussi du message.
OT_ERROR_DROP
Le message était bien formé mais pas entièrement traité en raison des règles de traitement des paquets.
OT_ERROR_NO_BUFS
Impossible d'allouer les tampons de messages nécessaires lors du traitement du datagramme.
OT_ERROR_NO_ROUTE
Aucun itinéraire pour héberger.
OT_ERROR_PARSE
Un en-tête mal formé a été rencontré lors du traitement du message.

otIp6SetAddressCallback

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

Cette fonction enregistre un rappel pour notifier les changements d'adresse IPv6 interne.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
[in] aCallback
Un 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 le contexte spécifique à l'application.

otIp6SetEnabled

otError otIp6SetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Cette fonction active / désactive l'interface IPv6.

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

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
[in] aEnabled
TRUE pour activer IPv6, FALSE sinon.
Valeurs de retour
OT_ERROR_NONE
Mise en place / désactivation de l'interface IPv6 avec succès.
OT_ERROR_INVALID_STATE
L'interface IPv6 n'est pas disponible car l'appareil fonctionne en mode de liaison brute (applicable uniquement lorsque la fonction OPENTHREAD_CONFIG_LINK_RAW_ENABLE est activée).

otIp6SetMulticastPromiscuousEnabled

void otIp6SetMulticastPromiscuousEnabled(
  otInstance *aInstance,
  bool aEnabled
)

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

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
[in] aEnabled
TRUE pour activer le mode Promiscuous Multicast, FALSE sinon.
Voir également:
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 de contrôle des threads. Consultez otIp6SetReceiveFilterEnabled () pour modifier le paramètre de filtre de trafic de contrôle des threads.

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

otIp6SetReceiveFilterEnabled

void otIp6SetReceiveFilterEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Cette fonction définit si le trafic de contrôle Thread est filtré ou non lors de la livraison de datagrammes IPv6 via le rappel spécifié dans otIp6SetReceiveCallback () .

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
[in] aEnabled
TRUE si le trafic de contrôle de thread est filtré, FALSE dans le cas contraire.
Voir également:
otIp6SetReceiveCallback
otIsReceiveIp6FilterEnabled

otIp6SetSlaacEnabled

void otIp6SetSlaacEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Cette fonction active / désactive le module SLAAC.

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

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

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

otIp6SetSlaacPrefixFilter

void otIp6SetSlaacPrefixFilter(
  otInstance *aInstance,
  otIp6SlaacPrefixFilter aFilter
)

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

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

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

Un gestionnaire de filtre 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 sera NULL (le filtrage est désactivé).

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

otIp6SubscribeMulticastAddress

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

Abonnez l'interface de thread à une adresse de multidiffusion d'interface réseau.

L'instance aAddress sera copiée par l'interface Thread. L'interface Thread prend uniquement en charge un nombre fixe d'adresses multicast ajoutées en externe. Voir OPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRS.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
[in] aAddress
Un pointeur vers une adresse IP.
Valeurs de retour
OT_ERROR_NONE
Abonnement réussi à l'adresse de multidiffusion 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 une aAddress est une adresse invalide.
OT_ERROR_INVALID_STATE
L'interface réseau n'est pas active.
OT_ERROR_NO_BUFS
L'interface réseau stocke déjà le maximum d'adresses de multidiffusion externes autorisées.

otIp6UnsubscribeMulticastAddress

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

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

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
[in] aAddress
Un pointeur vers une adresse IP.
Valeurs de retour
OT_ERROR_NONE
Désabonnement réussi à l'adresse de multidiffusion de l'interface réseau.
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 une aAddress est introuvable.

Macros

OT_IP6_ADDRESS_SIZE

 OT_IP6_ADDRESS_SIZE 16

Taille d'une adresse IPv6 (octets)

OT_IP6_IID_SIZE

 OT_IP6_IID_SIZE 8

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

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)