Interface d'infrastructure

Ce module inclut l'abstraction de plate-forme pour l'interface réseau de l'infrastructure adjacente.

Résumé

distantes

otPlatInfraIfDiscoverNat64Prefix(uint32_t aInfraIfIndex)
Envoyer une requête permettant de découvrir le préfixe NAT64 sur l'interface d'infrastructure avec aInfraIfIndex
otPlatInfraIfDiscoverNat64PrefixDone(otInstance *aInstance, uint32_t aInfraIfIndex, const otIp6Prefix *aIp6Prefix)
void
Le pilote d'interface d'infrastructure appelle cette méthode pour avertir OpenThread que la découverte du préfixe NAT64 est terminée.
otPlatInfraIfHasAddress(uint32_t aInfraIfIndex, const otIp6Address *aAddress)
bool
Indique si une interface d'infrastructure est associée à l'adresse IPv6 donnée.
otPlatInfraIfRecvIcmp6Nd(otInstance *aInstance, uint32_t aInfraIfIndex, const otIp6Address *aSrcAddress, const uint8_t *aBuffer, uint16_t aBufferLength)
void
Le pilote d'interface d'infrastructure appelle cette méthode pour avertir OpenThread qu'un message ICMPv6 Neighbor Discovery a été reçu.
otPlatInfraIfSendIcmp6Nd(uint32_t aInfraIfIndex, const otIp6Address *aDestAddress, const uint8_t *aBuffer, uint16_t aBufferLength)
Envoie un message ICMPv6 Neighbor Discovery sur l'interface d'infrastructure donnée.
otPlatInfraIfStateChanged(otInstance *aInstance, uint32_t aInfraIfIndex, bool aIsRunning)
Le pilote d'interface d'infrastructure appelle cette méthode pour avertir OpenThread des changements d'état de l'interface.

distantes

otPlatInfraIfDiscoverNat64Prefix

otError otPlatInfraIfDiscoverNat64Prefix(
  uint32_t aInfraIfIndex
)

Envoyer une requête permettant de découvrir le préfixe NAT64 sur l'interface d'infrastructure avec aInfraIfIndex

OpenThread appelle périodiquement cette méthode pour surveiller la présence ou la modification du préfixe NAT64.

Détails
Paramètres
[in] aInfraIfIndex
Index de l'interface d'infrastructure permettant de découvrir le préfixe NAT64.
Valeurs de retour
OT_ERROR_NONE
La requête de découverte du préfixe NAT64 a bien été envoyée.
OT_ERROR_FAILED
Échec de la requête de découverte du préfixe NAT64.

otPlatInfraIfDiscoverNat64PrefixDone

void otPlatInfraIfDiscoverNat64PrefixDone(
  otInstance *aInstance,
  uint32_t aInfraIfIndex,
  const otIp6Prefix *aIp6Prefix
)

Le pilote d'interface d'infrastructure appelle cette méthode pour avertir OpenThread que la découverte du préfixe NAT64 est terminée.

Doit être appelé après l'appel de otPlatInfraIfDiscoverNat64Prefix. Si aucun préfixe NAT64 n'est détecté, aIp6Prefix doit pointer vers un préfixe vide de longueur nulle.

Détails
Paramètres
[in] aInstance
Structure de l'instance OpenThread.
[in] aInfraIfIndex
Index de l'interface d'infrastructure sur laquelle le préfixe NAT64 est découvert.
[in] aIp6Prefix
Pointeur vers le préfixe NAT64.

otPlatInfraIfHasAddress

bool otPlatInfraIfHasAddress(
  uint32_t aInfraIfIndex,
  const otIp6Address *aAddress
)

Indique si une interface d'infrastructure est associée à l'adresse IPv6 donnée.

Détails
Paramètres
[in] aInfraIfIndex
Index de l'interface d'infrastructure.
[in] aAddress
Adresse IPv6.
Renvoie
TRUE si l'interface d'infrastructure a attribué une adresse IPv6, FALSE dans le cas contraire.

otPlatInfraIfRecvIcmp6Nd

void otPlatInfraIfRecvIcmp6Nd(
  otInstance *aInstance,
  uint32_t aInfraIfIndex,
  const otIp6Address *aSrcAddress,
  const uint8_t *aBuffer,
  uint16_t aBufferLength
)

Le pilote d'interface d'infrastructure appelle cette méthode pour avertir OpenThread qu'un message ICMPv6 Neighbor Discovery a été reçu.

Consultez le document RFC 4861: https://tools.ietf.org/html/rfc4861.

Détails
Paramètres
[in] aInstance
Structure de l'instance OpenThread.
[in] aInfraIfIndex
Index de l'interface d'infrastructure sur laquelle le message ICMPv6 est reçu
[in] aSrcAddress
Adresse source de ce message.
[in] aBuffer
Tampon du message ICMPv6.
[in] aBufferLength
Longueur du tampon du message ICMPv6.

otPlatInfraIfSendIcmp6Nd

otError otPlatInfraIfSendIcmp6Nd(
  uint32_t aInfraIfIndex,
  const otIp6Address *aDestAddress,
  const uint8_t *aBuffer,
  uint16_t aBufferLength
)

Envoie un message ICMPv6 Neighbor Discovery sur l'interface d'infrastructure donnée.

Consultez le document RFC 4861: https://tools.ietf.org/html/rfc4861.

Détails
Paramètres
[in] aInfraIfIndex
Index de l'interface d'infrastructure à laquelle ce message est envoyé.
[in] aDestAddress
Adresse de destination à laquelle ce message est envoyé.
[in] aBuffer
Tampon du message ICMPv6. La somme de contrôle ICMPv6 reste zéro et la plate-forme doit effectuer le calcul de la somme de contrôle.
[in] aBufferLength
Longueur du tampon du message.
Valeurs de retour
OT_ERROR_NONE
Le message ICMPv6 a bien été envoyé.
OT_ERROR_FAILED
Échec de l'envoi du message ICMPv6.

otPlatInfraIfStateChanged

otError otPlatInfraIfStateChanged(
  otInstance *aInstance,
  uint32_t aInfraIfIndex,
  bool aIsRunning
)

Le pilote d'interface d'infrastructure appelle cette méthode pour avertir OpenThread des changements d'état de l'interface.

La plate-forme peut appeler une méthode même si l'état d'exécution de l'interface n'a pas changé. Dans ce cas, l'état du gestionnaire de routage n'est pas affecté.

Détails
Paramètres
[in] aInstance
Structure de l'instance OpenThread.
[in] aInfraIfIndex
Index de l'interface d'infrastructure
[in] aIsRunning
Valeur booléenne indiquant si l'interface d'infrastructure est en cours d'exécution.
Valeurs de retour
OT_ERROR_NONE
L'état de l'interface de l'infrastructure a bien été mis à jour.
OT_ERROR_INVALID_STATE
Le gestionnaire de routage n'est pas initialisé.
OT_ERROR_INVALID_ARGS
aInfraIfIndex ne correspond pas à l'interface d'infrastructure avec laquelle le gestionnaire de routage est initialisé.

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.