IPv6
Ce module inclut des fonctions de contrôle de la communication IPv6.
Résumé
Énumérations |
|
---|---|
anonymous enum{
|
enum Numéros de protocole Internet. |
anonymous enum{
|
enum Origines des adresses IPv6. |
anonymous enum{
|
enum États ECN, représentés comme dans l'en-tête IP. |
Typedefs |
|
---|---|
otBorderRoutingCounters
|
typedefstruct otBorderRoutingCounters
Représente les compteurs de paquets transférés via le routage frontière. |
otIp6Address
|
typedefstruct otIp6Address
Représente une adresse IPv6. |
otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext)
|
typedefvoid(*
Le pointeur est appelé lorsqu'une adresse IPv6 interne est ajoutée ou supprimée. |
otIp6AddressComponents
|
typedefstruct otIp6AddressComponents
Représente les composants d'une adresse IPv6. |
otIp6AddressInfo
|
typedefstruct otIp6AddressInfo
Représente les informations d'adresse IPv6. |
otIp6InterfaceIdentifier
|
typedefstruct otIp6InterfaceIdentifier
Représente l'identifiant d'interface d'une adresse IPv6. |
otIp6NetworkPrefix
|
typedefstruct otIp6NetworkPrefix
Représente le préfixe réseau d'une adresse IPv6 (64 bits les plus significatifs de l'adresse). |
otIp6Prefix
|
typedefstruct otIp6Prefix
Représente un préfixe IPv6. |
otIp6ReceiveCallback)(otMessage *aMessage, void *aContext)
|
typedefvoid(*
Le pointeur est appelé lors de la réception d'un datagramme IPv6. |
otIp6RegisterMulticastListenersCallback)(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum)
|
typedefvoid(*
Le pointeur est appelé avec les résultats otIp6RegisterMulticastListeners . |
otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix *aPrefix)
|
typedefbool(*
Le pointeur permet à l'utilisateur de filtrer les préfixes et d'empêcher l'ajout d'une adresse SLAAC basée sur un préfixe. |
otMessageInfo
|
typedefstruct otMessageInfo
Représente les adresses de socket IPv6 locales et appairées. |
otNetifAddress
|
typedefstruct otNetifAddress
Représente une adresse d'unicast d'interface réseau IPv6. |
otNetifMulticastAddress
|
typedefstruct otNetifMulticastAddress
Représente une adresse de multidiffusion d'interface réseau IPv6. |
otPacketsAndBytes
|
typedefstruct otPacketsAndBytes
Représente les compteurs pour les paquets et les octets. |
otSockAddr
|
typedefstruct otSockAddr
Représente une adresse de socket IPv6. |
Variables |
|
---|---|
OT_TOOL_PACKED_END
|
distantes |
|
---|---|
otIp6AddUnicastAddress(otInstance *aInstance, const otNetifAddress *aAddress)
|
Ajoute une adresse d'interface réseau à l'interface Thread.
|
otIp6AddUnsecurePort(otInstance *aInstance, uint16_t aPort)
|
Ajoute un port à la liste des ports non sécurisés autorisés.
|
otIp6AddressFromString(const char *aString, otIp6Address *aAddress)
|
Convertit une chaîne d'adresse IPv6 lisible en une représentation binaire.
|
otIp6AddressToString(const otIp6Address *aAddress, char *aBuffer, uint16_t aSize)
|
void
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.
|
otIp6GetBorderRoutingCounters(otInstance *aInstance)
|
const otBorderRoutingCounters *
Récupère les compteurs de routage de bordure.
|
otIp6GetMulticastAddresses(otInstance *aInstance)
|
const otNetifMulticastAddress *
Récupère la liste des adresses de multidiffusion IPv6 abonnées à l'interface Thread.
|
otIp6GetPrefix(const otIp6Address *aAddress, uint8_t aLength, otIp6Prefix *aPrefix)
|
void
Récupère un préfixe avec
aLength à partir de aAddress . |
otIp6GetUnicastAddresses(otInstance *aInstance)
|
const otNetifAddress *
Récupère la liste des adresses IPv6 attribuées à l'interface Thread.
|
otIp6GetUnsecurePorts(otInstance *aInstance, uint8_t *aNumEntries)
|
const uint16_t *
Renvoie un pointeur vers la liste des ports non sécurisés.
|
otIp6HasUnicastAddress(otInstance *aInstance, const otIp6Address *aAddress)
|
bool
Indique si une adresse IPv6 monodiffusion est attribuée à l'interface Thread.
|
otIp6IsAddressEqual(const otIp6Address *aFirst, const otIp6Address *aSecond)
|
bool
Vérifiez si deux adresses IPv6 sont identiques.
|
otIp6IsAddressUnspecified(const otIp6Address *aAddress)
|
bool
Indique si une adresse IPv6 donnée est une adresse non spécifiée.
|
otIp6IsEnabled(otInstance *aInstance)
|
bool
Indique si l'interface IPv6 est opérationnelle.
|
otIp6IsMulticastPromiscuousEnabled(otInstance *aInstance)
|
bool
Vérifie si le mode promiscuité multicast est activé sur l'interface Thread.
|
otIp6IsReceiveFilterEnabled(otInstance *aInstance)
|
bool
Indique si le trafic de contrôle Thread est filtré ou non lors de la distribution de datagrammes IPv6 via le rappel spécifié dans otIp6SetReceiveCallback().
|
otIp6IsSlaacEnabled(otInstance *aInstance)
|
bool
Indique si le module SLAAC est activé ou non.
|
otIp6NewMessage(otInstance *aInstance, const otMessageSettings *aSettings)
|
Allouer un nouveau tampon de message 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 ce tampon pour envoyer un message IPv6.
|
otIp6PrefixFromString(const char *aString, otIp6Prefix *aPrefix)
|
Convertit une chaîne de préfixe IPv6 lisible en une représentation binaire.
|
otIp6PrefixMatch(const otIp6Address *aFirst, const otIp6Address *aSecond)
|
uint8_t
Renvoie la longueur de correspondance du préfixe (en bits) pour deux adresses IPv6.
|
otIp6PrefixToString(const otIp6Prefix *aPrefix, char *aBuffer, uint16_t aSize)
|
void
Convertit un préfixe IPv6 donné en une chaîne lisible.
|
otIp6ProtoToString(uint8_t aIpProto)
|
const char *
Convertit un numéro de protocole IP donné en une chaîne lisible.
|
otIp6RegisterMulticastListeners(otInstance *aInstance, const otIp6Address *aAddresses, uint8_t aAddressNum, const uint32_t *aTimeout, otIp6RegisterMulticastListenersCallback aCallback, void *aContext)
|
Enregistre les écouteurs de multidiffusion sur le routeur backbone principal.
|
otIp6RemoveAllUnsecurePorts(otInstance *aInstance)
|
void
Supprime tous les ports de la liste des ports non sécurisés autorisés.
|
otIp6RemoveUnicastAddress(otInstance *aInstance, const otIp6Address *aAddress)
|
Supprime une adresse d'interface réseau de l'interface Thread.
|
otIp6RemoveUnsecurePort(otInstance *aInstance, uint16_t aPort)
|
Supprime un port de la liste des ports non sécurisés autorisés.
|
otIp6ResetBorderRoutingCounters(otInstance *aInstance)
|
void
Réinitialise les compteurs de routage de bordure.
|
otIp6SelectSourceAddress(otInstance *aInstance, otMessageInfo *aMessageInfo)
|
Sélectionne l'adresse source OpenThread.
|
otIp6Send(otInstance *aInstance, otMessage *aMessage)
|
Envoie un datagramme IPv6 via l'interface Thread.
|
otIp6SetAddressCallback(otInstance *aInstance, otIp6AddressCallback aCallback, void *aCallbackContext)
|
void
Enregistre un rappel pour avertir les modifications apportées aux adresses IPv6 internes.
|
otIp6SetEnabled(otInstance *aInstance, bool aEnabled)
|
Active ou désactive l'interface IPv6.
|
otIp6SetMeshLocalIid(otInstance *aInstance, const otIp6InterfaceIdentifier *aIid)
|
Définit l'IID local du maillage (à des fins de test).
|
otIp6SetMulticastPromiscuousEnabled(otInstance *aInstance, bool aEnabled)
|
void
Active ou désactive le mode promiscuité multicast sur l'interface Thread.
|
otIp6SetReceiveCallback(otInstance *aInstance, otIp6ReceiveCallback aCallback, void *aCallbackContext)
|
void
Enregistre un rappel pour fournir les datagrammes IPv6 reçus.
|
otIp6SetReceiveFilterEnabled(otInstance *aInstance, bool aEnabled)
|
void
Détermine si le trafic de contrôle des threads est filtré ou non lors de la distribution de datagrammes IPv6 via le rappel spécifié dans otIp6SetReceiveCallback().
|
otIp6SetSlaacEnabled(otInstance *aInstance, bool aEnabled)
|
void
Active/désactive le module SLAAC.
|
otIp6SetSlaacPrefixFilter(otInstance *aInstance, otIp6SlaacPrefixFilter aFilter)
|
void
Définit le gestionnaire de filtres du module SLAAC.
|
otIp6SockAddrToString(const otSockAddr *aSockAddr, char *aBuffer, uint16_t aSize)
|
void
Convertit une adresse de socket IPv6 donnée en une chaîne lisible.
|
otIp6SubscribeMulticastAddress(otInstance *aInstance, const otIp6Address *aAddress)
|
Abonne l'interface Thread à une adresse multicast d'interface réseau.
|
otIp6UnsubscribeMulticastAddress(otInstance *aInstance, const otIp6Address *aAddress)
|
Désabonne l'interface Thread en adresse multicast d'interface réseau.
|
Structs |
|
---|---|
otBorderRoutingCounters |
Représente les compteurs de paquets transférés via le routage frontière. |
otIp6Address |
Représente une adresse IPv6. |
otIp6AddressComponents |
Représente les composants d'une adresse IPv6. |
otIp6AddressInfo |
Représente les informations d'adresse IPv6. |
otIp6InterfaceIdentifier |
Représente l'identifiant d'interface d'une adresse IPv6. |
otIp6NetworkPrefix |
Représente le préfixe réseau d'une adresse IPv6 (64 bits les plus significatifs de l'adresse). |
otIp6Prefix |
Représente un préfixe IPv6. |
otMessageInfo |
Représente les adresses de socket IPv6 locales et appairées. |
otNetifAddress |
Représente une adresse d'unicast d'interface réseau IPv6. |
otNetifMulticastAddress |
Représente une adresse de multidiffusion d'interface réseau IPv6. |
otPacketsAndBytes |
Représente les compteurs pour les paquets et les octets. |
otSockAddr |
Représente une adresse de socket IPv6. |
Unions |
|
---|---|
otIp6InterfaceIdentifier:: |
Énumérations
énumération anonyme
anonymous enum
Numéros de protocole Internet.
Propriétés | |
---|---|
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 saut par saut IPv6. |
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
|
Transmission Control Protocol (protocole de contrôle de transmission). |
OT_IP6_PROTO_UDP
|
Datagramme utilisateur. |
énumération anonyme
anonymous enum
Origines des adresses IPv6.
Propriétés | |
---|---|
OT_ADDRESS_ORIGIN_DHCPV6
|
Adresse DHCPv6 attribuée. |
OT_ADDRESS_ORIGIN_MANUAL
|
Adresse attribuée manuellement. |
OT_ADDRESS_ORIGIN_SLAAC
|
Adresse attribuée au SLAAC. |
OT_ADDRESS_ORIGIN_THREAD
|
Adresse attribuée au thread (ALOC, RLOC, MLEID, etc.) |
énumération anonyme
anonymous enum
États ECN, représentés comme dans l'en-tête IP.
Propriétés | |
---|---|
OT_ECN_CAPABLE_0
|
ECT(0) |
OT_ECN_CAPABLE_1
|
ECT(1) |
OT_ECN_MARKED
|
Congestion rencontrée (CE) |
OT_ECN_NOT_CAPABLE
|
Sans ECT. |
Typedefs
otBorderRoutingCounters
struct otBorderRoutingCounters otBorderRoutingCounters
Représente les compteurs de paquets transférés via le routage frontière.
otIp6AddressCallback
void(* otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext)
Le pointeur est appelé lorsqu'une adresse IPv6 interne est ajoutée ou supprimée.
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
otIp6AddressComponents
struct otIp6AddressComponents otIp6AddressComponents
Représente les composants d'une adresse IPv6.
otIp6AddressInfo
struct otIp6AddressInfo otIp6AddressInfo
Représente les informations d'adresse IPv6.
otIp6InterfaceIdentifier
struct otIp6InterfaceIdentifier otIp6InterfaceIdentifier
Représente l'identifiant d'interface d'une adresse IPv6.
otIp6NetworkPrefix
struct otIp6NetworkPrefix otIp6NetworkPrefix
Représente le préfixe réseau d'une adresse IPv6 (64 bits les plus significatifs de l'adresse).
otIp6ReceiveCallback
void(* otIp6ReceiveCallback)(otMessage *aMessage, void *aContext)
Le pointeur est appelé lors de la réception d'un datagramme IPv6.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
otIp6RegisterMulticastListenersCallback
void(* otIp6RegisterMulticastListenersCallback)(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum)
Le pointeur est appelé avec les résultats otIp6RegisterMulticastListeners
.
Détails | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
otIp6RegisterMulticastListeners
otIp6SlaacPrefixFilter
bool(* otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix *aPrefix)
Le pointeur permet à l'utilisateur de filtrer les préfixes et d'empêcher 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 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 |
|
||||
Valeurs de retour |
|
otMessageInfo
struct otMessageInfo otMessageInfo
Représente les adresses de socket IPv6 locales et appairées.
otNetifAddress
struct otNetifAddress otNetifAddress
Représente une adresse d'unicast d'interface réseau IPv6.
otNetifMulticastAddress
struct otNetifMulticastAddress otNetifMulticastAddress
Représente une adresse de multidiffusion d'interface réseau IPv6.
otPacketsAndBytes
struct otPacketsAndBytes otPacketsAndBytes
Représente les compteurs pour les paquets et les octets.
Variables
OT_TOOL_PACKED_END
OT_TOOL_PACKED_BEGIN struct otIp6InterfaceIdentifier OT_TOOL_PACKED_END
distantes
otIp6AddUnicastAddress
otError otIp6AddUnicastAddress( otInstance *aInstance, const otNetifAddress *aAddress )
Ajoute une adresse d'interface réseau à l'interface Thread.
L'instance aAddress
transmise est copiée par l'interface Thread. L'interface Thread n'accepte qu'un nombre fixe d'adresses unicast ajoutées en externe. Consultez les OPENTHREAD_CONFIG_IP6_MAX_EXT_UCAST_ADDRS
.
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
||||||
Valeurs de retour |
|
otIp6AddUnsecurePort
otError otIp6AddUnsecurePort( otInstance *aInstance, uint16_t aPort )
Ajoute un port à la liste des ports non sécurisés autorisés.
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
||||||
Valeurs de retour |
|
otIp6AddressFromString
otError otIp6AddressFromString( const char *aString, otIp6Address *aAddress )
Convertit une chaîne d'adresse IPv6 lisible en une représentation binaire.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
||||
Valeurs de retour |
|
otIp6AddressToString
void otIp6AddressToString( const otIp6Address *aAddress, char *aBuffer, uint16_t aSize )
Convertit une adresse IPv6 donnée en une chaîne lisible.
La chaîne d'adresse IPv6 prend la forme de 16 valeurs hexadécimales séparées par ":" (par exemple, "%x:%x:%x:...:%x").
Si la chaîne obtenue ne rentre pas dans aBuffer
(de ses caractères aSize
), elle sera tronquée, mais la sortie sera toujours nulle et se termine toujours.
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
otIp6ArePrefixesEqual
bool otIp6ArePrefixesEqual( const otIp6Prefix *aFirst, const otIp6Prefix *aSecond )
Vérifiez si deux préfixes IPv6 sont identiques.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
||||
Valeurs de retour |
|
otIp6GetBorderRoutingCounters
const otBorderRoutingCounters * otIp6GetBorderRoutingCounters( otInstance *aInstance )
Récupère les compteurs de routage de bordure.
La fonctionnalité de compilation OPENTHREAD_CONFIG_IP6_BR_COUNTERS_ENABLE
doit être activée.
Détails | |||
---|---|---|---|
Paramètres |
|
||
Renvoie |
Pointeur vers les compteurs de routage de bordure.
|
otIp6GetMulticastAddresses
const otNetifMulticastAddress * otIp6GetMulticastAddresses( otInstance *aInstance )
Récupère la liste des adresses de multidiffusion IPv6 abonnées à l'interface Thread.
Détails | |||
---|---|---|---|
Paramètres |
|
||
Renvoie |
Pointeur vers la première adresse multicast de l'interface réseau.
|
otIp6GetPrefix
void otIp6GetPrefix( const otIp6Address *aAddress, uint8_t aLength, otIp6Prefix *aPrefix )
Récupère un préfixe avec aLength
à partir de aAddress
.
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
otIp6GetUnicastAddresses
const otNetifAddress * otIp6GetUnicastAddresses( otInstance *aInstance )
Récupère la liste des adresses IPv6 attribuées à l'interface Thread.
Détails | |||
---|---|---|---|
Paramètres |
|
||
Renvoie |
Pointeur vers la première adresse d'interface réseau.
|
otIp6GetUnsecurePorts
const uint16_t * otIp6GetUnsecurePorts( otInstance *aInstance, uint8_t *aNumEntries )
Renvoie un pointeur vers la liste des ports non sécurisés.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
||||
Renvoie |
Pointeur vers la liste des ports non sécurisés.
|
otIp6HasUnicastAddress
bool otIp6HasUnicastAddress( otInstance *aInstance, const otIp6Address *aAddress )
Indique si une adresse IPv6 monodiffusion est attribuée à l'interface Thread.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
||||
Valeurs de retour |
|
otIp6IsAddressEqual
bool otIp6IsAddressEqual( const otIp6Address *aFirst, const otIp6Address *aSecond )
Vérifiez si deux adresses IPv6 sont identiques.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
||||
Valeurs de retour |
|
otIp6IsAddressUnspecified
bool otIp6IsAddressUnspecified( const otIp6Address *aAddress )
Indique si une adresse IPv6 donnée est une adresse non spécifiée.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
||||
Valeurs de retour |
|
otIp6IsEnabled
bool otIp6IsEnabled( otInstance *aInstance )
Indique si l'interface IPv6 est opérationnelle.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
||||
Valeurs de retour |
|
otIp6IsMulticastPromiscuousEnabled
bool otIp6IsMulticastPromiscuousEnabled( otInstance *aInstance )
Vérifie si le mode promiscuité multicast est activé sur l'interface Thread.
Détails | |||
---|---|---|---|
Paramètres |
|
otIp6SetMulticastPromiscuousEnabled
otIp6IsReceiveFilterEnabled
bool otIp6IsReceiveFilterEnabled( otInstance *aInstance )
Indique si le trafic de contrôle Thread est filtré ou non lors de la distribution de datagrammes IPv6 via le rappel spécifié dans otIp6SetReceiveCallback().
Détails | |||
---|---|---|---|
Paramètres |
|
||
Renvoie |
"TRUE" si le trafic de contrôle des threads est filtré, "FALSE" dans le cas contraire.
|
otIp6SetReceiveCallback
otIp6SetReceiveFilterEnabled
otIp6IsSlaacEnabled
bool otIp6IsSlaacEnabled( otInstance *aInstance )
Indique si le module SLAAC est activé ou non.
La fonctionnalité de compilation OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE
doit être activée.
Détails | |||||
---|---|---|---|---|---|
Valeurs de retour |
|
otIp6NewMessage
otMessage * otIp6NewMessage( otInstance *aInstance, const otMessageSettings *aSettings )
Allouer un nouveau tampon de message pour l'envoi d'un message IPv6.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
||||
Renvoie |
Pointeur vers le tampon du message ou NULL si aucun tampon de message n'est disponible ou si les paramètres ne sont pas valides.
|
otMessageFree
otIp6NewMessageFromBuffer
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 ce tampon pour envoyer un message IPv6.
Détails | |||||||||
---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
||||||||
Renvoie |
Pointeur vers le message, ou valeur NULL si un en-tête IPv6 non valide ou si les tampons de message sont insuffisants.
|
otMessageFree
otIp6PrefixFromString
otError otIp6PrefixFromString( const char *aString, otIp6Prefix *aPrefix )
Convertit une chaîne de préfixe IPv6 lisible en une représentation binaire.
Le paramètre aString
doit être une chaîne au format "
est une adresse IPv6 et
est une longueur de préfixe.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
||||
Valeurs de retour |
|
otIp6PrefixMatch
uint8_t otIp6PrefixMatch( const otIp6Address *aFirst, const otIp6Address *aSecond )
Renvoie la longueur de correspondance du préfixe (en bits) pour deux adresses IPv6.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
||||
Renvoie |
Le préfixe correspond à la longueur en bits.
|
otIp6PrefixToString
void otIp6PrefixToString( const otIp6Prefix *aPrefix, char *aBuffer, uint16_t aSize )
Convertit un préfixe IPv6 donné en une chaîne lisible.
Le format de la chaîne d'adresse IPv6 est "%x:%x:%x:...[::]/plen".
Si la chaîne obtenue ne rentre pas dans aBuffer
(de ses caractères aSize
), elle sera tronquée, mais la sortie sera toujours nulle et se termine toujours.
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
otIp6ProtoToString
const char * otIp6ProtoToString( uint8_t aIpProto )
Convertit un numéro de protocole IP donné en une chaîne lisible.
Détails | |||
---|---|---|---|
Paramètres |
|
||
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 )
Enregistre les écouteurs de multidiffusion sur le routeur backbone principal.
OPENTHREAD_CONFIG_TMF_PROXY_MLR_ENABLE
et OPENTHREAD_CONFIG_COMMISSIONER_ENABLE
doivent être activés.
Détails | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
||||||||||||
Valeurs de retour |
|
otIp6RegisterMulticastListenersCallback
otIp6RemoveAllUnsecurePorts
void otIp6RemoveAllUnsecurePorts( otInstance *aInstance )
Supprime tous les ports de la liste des ports non sécurisés autorisés.
Détails | |||
---|---|---|---|
Paramètres |
|
otIp6RemoveUnicastAddress
otError otIp6RemoveUnicastAddress( otInstance *aInstance, const otIp6Address *aAddress )
Supprime une adresse d'interface réseau de l'interface Thread.
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
||||||
Valeurs de retour |
|
otIp6RemoveUnsecurePort
otError otIp6RemoveUnsecurePort( otInstance *aInstance, uint16_t aPort )
Supprime un port de la liste des ports non sécurisés autorisés.
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
||||||
Valeurs de retour |
|
otIp6ResetBorderRoutingCounters
void otIp6ResetBorderRoutingCounters( otInstance *aInstance )
Réinitialise les compteurs de routage de bordure.
Détails | |||
---|---|---|---|
Paramètres |
|
otIp6SelectSourceAddress
otError otIp6SelectSourceAddress( otInstance *aInstance, otMessageInfo *aMessageInfo )
Sélectionne l'adresse source OpenThread.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
||||
Valeurs de retour |
|
otIp6Send
otError otIp6Send( otInstance *aInstance, otMessage *aMessage )
Envoie un datagramme IPv6 via l'interface Thread.
L'appelant transfère la propriété de aMessage
lors de cet appel. OpenThread libère aMessage
une fois le traitement terminé, y compris lorsqu'une valeur autre que OT_ERROR_NONE
est renvoyée.
Détails | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
||||||||||||||
Valeurs de retour |
|
otIp6SetAddressCallback
void otIp6SetAddressCallback( otInstance *aInstance, otIp6AddressCallback aCallback, void *aCallbackContext )
Enregistre un rappel pour avertir les modifications apportées aux adresses IPv6 internes.
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
otIp6SetEnabled
otError otIp6SetEnabled( otInstance *aInstance, bool aEnabled )
Active ou désactive l'interface IPv6.
Appelez-le pour activer ou désactiver la communication IPv6.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
||||
Valeurs de retour |
|
otIp6SetMeshLocalIid
otError otIp6SetMeshLocalIid( otInstance *aInstance, const otIp6InterfaceIdentifier *aIid )
Définit l'IID local du maillage (à des fins de test).
Nécessite OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
||||
Valeurs de retour |
|
otIp6SetMulticastPromiscuousEnabled
void otIp6SetMulticastPromiscuousEnabled( otInstance *aInstance, bool aEnabled )
Active ou désactive le mode promiscuité multicast sur l'interface Thread.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
otIp6IsMulticastPromiscuousEnabled
otIp6SetReceiveCallback
void otIp6SetReceiveCallback( otInstance *aInstance, otIp6ReceiveCallback aCallback, void *aCallbackContext )
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. Pour modifier le paramètre de filtre du trafic de contrôle des threads, consultez otIp6SetReceiveFilterEnabled().
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
otIp6IsReceiveFilterEnabled
otIp6SetReceiveFilterEnabled
otIp6SetReceiveFilterEnabled
void otIp6SetReceiveFilterEnabled( otInstance *aInstance, bool aEnabled )
Détermine si le trafic de contrôle des threads est filtré ou non lors de la distribution de datagrammes IPv6 via le rappel spécifié dans otIp6SetReceiveCallback().
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
otIp6SetReceiveCallback
otIsReceiveIp6FilterEnabled
otIp6SetSlaacEnabled
void otIp6SetSlaacEnabled( otInstance *aInstance, bool aEnabled )
Active/désactive le module SLAAC.
La fonctionnalité de compilation OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE
doit être activée.
Lorsque le module SLAAC est activé, des adresses SLAAC (en fonction des 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 précédemment ajoutée est supprimée.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
otIp6SetSlaacPrefixFilter
void otIp6SetSlaacPrefixFilter( otInstance *aInstance, otIp6SlaacPrefixFilter aFilter )
Définit le gestionnaire de filtres du module SLAAC.
La fonctionnalité de compilation OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE
doit être activée.
Le gestionnaire de filtres 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 filtres NULL désactive le filtrage et autorise l'ajout de 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 |
|
otIp6SockAddrToString
void otIp6SockAddrToString( const otSockAddr *aSockAddr, char *aBuffer, uint16_t aSize )
Convertit une adresse de socket IPv6 donnée en une chaîne lisible.
La chaîne d'adresse de socket IPv6 est au format [address
]:port
, où address
est affiché sous la forme de 16 valeurs hexadécimales séparées par :
et port
est le numéro de port au format décimal, par exemple "[%x:%x:...:%x]:%u".
Si la chaîne obtenue ne rentre pas dans aBuffer
(de ses caractères aSize
), elle sera tronquée, mais la sortie sera toujours nulle et se termine toujours.
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
otIp6SubscribeMulticastAddress
otError otIp6SubscribeMulticastAddress( otInstance *aInstance, const otIp6Address *aAddress )
Abonne l'interface Thread à une adresse multicast d'interface réseau.
L'instance aAddress
transmise sera copiée par l'interface Thread. L'interface Thread n'accepte qu'un nombre fixe d'adresses de multidiffusion ajoutées en externe. Consultez les OPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRS
.
Détails | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
||||||||||
Valeurs de retour |
|
otIp6UnsubscribeMulticastAddress
otError otIp6UnsubscribeMulticastAddress( otInstance *aInstance, const otIp6Address *aAddress )
Désabonne l'interface Thread en adresse multicast d'interface réseau.
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
||||||
Valeurs de retour |
|
Macros
OT_IP6_ADDRESS_SIZE
OT_IP6_ADDRESS_SIZE 16
Taille d'une adresse IPv6 (octets)
OT_IP6_ADDRESS_STRING_SIZE
OT_IP6_ADDRESS_STRING_SIZE 40
Taille recommandée pour représenter une adresse IPv6 sous forme de chaîne.
OT_IP6_HEADER_PROTO_OFFSET
OT_IP6_HEADER_PROTO_OFFSET 6
Décalage du champ proto dans l'en-tête IPv6 (octets)
OT_IP6_HEADER_SIZE
OT_IP6_HEADER_SIZE 40
Taille d'un en-tête IPv6 (octets)
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'écouteurs 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 sous forme de chaîne d'une adresse de socket IPv6.
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.