Routeur de bordure

Ce module inclut des fonctions permettant de gérer les données de réseau local avec le routeur de bordure OpenThread.

Résumé

Functions

otBorderRouterAddOnMeshPrefix(otInstance *aInstance, const otBorderRouterConfig *aConfig)
Ajoutez une configuration de routeur de bordure aux données du réseau local.
otBorderRouterAddRoute(otInstance *aInstance, const otExternalRouteConfig *aConfig)
Ajoutez une configuration de route externe aux données du réseau local.
otBorderRouterGetNetData(otInstance *aInstance, bool aStable, uint8_t *aData, uint8_t *aDataLength)
Cette méthode fournit une copie complète ou stable des données du réseau de threads locales.
otBorderRouterGetNextOnMeshPrefix(otInstance *aInstance, otNetworkDataIterator *aIterator, otBorderRouterConfig *aConfig)
Cette fonction obtient le préfixe "On Mesh" suivant dans les données réseau locales.
otBorderRouterGetNextRoute(otInstance *aInstance, otNetworkDataIterator *aIterator, otExternalRouteConfig *aConfig)
Cette fonction obtient la route externe suivante dans les données réseau locales.
otBorderRouterRegister(otInstance *aInstance)
Enregistrez immédiatement les données du réseau local auprès du responsable.
otBorderRouterRemoveOnMeshPrefix(otInstance *aInstance, const otIp6Prefix *aPrefix)
Supprimez une configuration de routeur de bordure des données de réseau local.
otBorderRouterRemoveRoute(otInstance *aInstance, const otIp6Prefix *aPrefix)
Supprimez une configuration de route externe des données de réseau local.
otBorderRoutingGetNat64Prefix(otInstance *aInstance, otIp6Prefix *aPrefix)
Cette fonction renvoie le préfixe NAT64 local.
otBorderRoutingGetOmrPrefix(otInstance *aInstance, otIp6Prefix *aPrefix)
Cette méthode renvoie le préfixe OMR (off-mesh-routable).
otBorderRoutingGetOnLinkPrefix(otInstance *aInstance, otIp6Prefix *aPrefix)
Cette méthode renvoie le préfixe correspondant au lien d'infrastructure adjacent.
otBorderRoutingInit(otInstance *aInstance, uint32_t aInfraIfIndex, bool aInfraIfIsRunning)
Cette méthode initialise le gestionnaire de routage frontière sur l'interface d'infrastructure donnée.
otBorderRoutingSetEnabled(otInstance *aInstance, bool aEnabled)
Cette méthode permet d'activer ou de désactiver le gestionnaire d'acheminement des frontières.

Functions

otBorderRouterAddOnMeshPrefix

otError otBorderRouterAddOnMeshPrefix(
  otInstance *aInstance,
  const otBorderRouterConfig *aConfig
)

Ajoutez une configuration de routeur de bordure aux données du réseau local.

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
[in] aConfig
Pointeur vers la configuration du routeur de bordure
Valeurs renvoyées
OT_ERROR_NONE
La configuration a bien été ajoutée aux données du réseau local.
OT_ERROR_INVALID_ARGS
Un ou plusieurs paramètres de configuration ne sont pas valides.
OT_ERROR_NO_BUFS
L'espace disponible est insuffisant pour ajouter la configuration aux données du réseau local.
Voir également:
otBorderRouterRemoveOnMeshPrefix
otBorderRouterRegister

otBorderRouterAddRoute

otError otBorderRouterAddRoute(
  otInstance *aInstance,
  const otExternalRouteConfig *aConfig
)

Ajoutez une configuration de route externe aux données du réseau local.

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
[in] aConfig
Pointeur vers la configuration de route externe.
Valeurs renvoyées
OT_ERROR_NONE
La configuration a bien été ajoutée aux données du réseau local.
OT_ERROR_INVALID_ARGS
Un ou plusieurs paramètres de configuration ne sont pas valides.
OT_ERROR_NO_BUFS
L'espace disponible est insuffisant pour ajouter la configuration aux données du réseau local.
Voir également:
otBorderRouterRemoveRoute
otBorderRouterRegister

otBorderRouterGetNetData

otError otBorderRouterGetNetData(
  otInstance *aInstance,
  bool aStable,
  uint8_t *aData,
  uint8_t *aDataLength
)

Cette méthode fournit une copie complète ou stable des données du réseau de threads locales.

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
[in] aStable
TRUE lors de la copie de la version stable, FALSE lors de la copie de la version complète.
[out] aData
Pointeur vers le tampon de données.
[in,out] aDataLength
À l'entrée, taille du tampon de données vers laquelle pointe aData. À la sortie, nombre d'octets copiés.

otBorderRouterGetNextOnMeshPrefix

otError otBorderRouterGetNextOnMeshPrefix(
  otInstance *aInstance,
  otNetworkDataIterator *aIterator,
  otBorderRouterConfig *aConfig
)

Cette fonction obtient le préfixe "On Mesh" suivant dans les données réseau locales.

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
[in,out] aIterator
Pointeur vers le contexte de l'itérateur de données réseau. Pour obtenir la première entrée de réseau maillé, elle doit être définie sur OT_NETWORK_DATA_ITERATOR_INIT.
[out] aConfig
Un pointeur vers les informations du préfixe sur le réseau maillé.
Valeurs renvoyées
OT_ERROR_NONE
Le préfixe "On Mesh" suivant a bien été trouvé.
OT_ERROR_NOT_FOUND
Aucun préfixe "On Mesh" ultérieur n'existe dans les données réseau du thread.

otBorderRouterGetNextRoute

otError otBorderRouterGetNextRoute(
  otInstance *aInstance,
  otNetworkDataIterator *aIterator,
  otExternalRouteConfig *aConfig
)

Cette fonction obtient la route externe suivante dans les données réseau locales.

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
[in,out] aIterator
Pointeur vers le contexte de l'itérateur de données réseau. Pour obtenir la première entrée de route externe, elle doit être définie sur OT_NETWORK_DATA_ITERATOR_INIT.
[out] aConfig
Pointeur vers les informations sur la route externe.
Valeurs renvoyées
OT_ERROR_NONE
La route externe suivante a bien été trouvée.
OT_ERROR_NOT_FOUND
Il n'existe aucune entrée de route externe ultérieure dans les données réseau du thread.

otBorderRouterRegister

otError otBorderRouterRegister(
  otInstance *aInstance
)

Enregistrez immédiatement les données du réseau local auprès du responsable.

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
Valeurs renvoyées
OT_ERROR_NONE
Le message de demande de données du serveur a bien été mis en file d'attente en vue de sa distribution.
Voir également:
otBorderRouterAddOnMeshPrefix
otBorderRouterRemoveOnMeshPrefix
otBorderRouterAddRoute
otBorderRouterRemoveRoute

otBorderRouterRemoveOnMeshPrefix

otError otBorderRouterRemoveOnMeshPrefix(
  otInstance *aInstance,
  const otIp6Prefix *aPrefix
)

Supprimez une configuration de routeur de bordure des données de réseau local.

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
[in] aPrefix
Pointeur vers un préfixe IPv6
Valeurs renvoyées
OT_ERROR_NONE
La configuration a bien été supprimée des données du réseau local.
OT_ERROR_NOT_FOUND
Impossible de trouver l'entrée du routeur de bordure.
Voir également:
otBorderRouterAddOnMeshPrefix
otBorderRouterRegister

otBorderRouterRemoveRoute

otError otBorderRouterRemoveRoute(
  otInstance *aInstance,
  const otIp6Prefix *aPrefix
)

Supprimez une configuration de route externe des données de réseau local.

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
[in] aPrefix
Pointeur vers un préfixe IPv6
Valeurs renvoyées
OT_ERROR_NONE
La configuration a bien été supprimée des données du réseau local.
OT_ERROR_NOT_FOUND
Impossible de trouver l'entrée du routeur de bordure.
Voir également:
otBorderRouterAddRoute
otBorderRouterRegister

otBorderRoutingGetNat64Prefix

otError otBorderRoutingGetNat64Prefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

Cette fonction renvoie le préfixe NAT64 local.

Ce préfixe peut ne pas être annoncé dans le réseau Thread.

Cette fonction n'est disponible que lorsque OPENTHREAD_CONFIG_BORDER_ROUTING_NAT64_ENABLE est activé.

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
[out] aPrefix
Pointeur vers lequel le préfixe sera généré.
Valeurs renvoyées
OT_ERROR_INVALID_STATE
Le gestionnaire de routage de bordure n'a pas encore été initialisé.
OT_ERROR_NONE
Le préfixe NAT64 a bien été récupéré.

otBorderRoutingGetOmrPrefix (Message)

otError otBorderRoutingGetOmrPrefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

Cette méthode renvoie le préfixe OMR (off-mesh-routable).

Le préfixe 64 bits généré de manière aléatoire est publié sur le réseau Thread s'il n'existe pas déjà de préfixe OMR.

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
[out] aPrefix
Pointeur vers lequel le préfixe sera généré.
Valeurs renvoyées
OT_ERROR_INVALID_STATE
Le gestionnaire de routage de bordure n'a pas encore été initialisé.
OT_ERROR_NONE
Le préfixe OMR a bien été récupéré.

otBorderRoutingGetOnLinkPrefix

otError otBorderRoutingGetOnLinkPrefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

Cette méthode renvoie le préfixe correspondant au lien d'infrastructure adjacent.

Le préfixe 64 bits généré de manière aléatoire est annoncé sur le lien d'infrastructure s'il n'y a pas déjà d'annonce de préfixe utilisable sur le lien.

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
[out] aPrefix
Pointeur vers lequel le préfixe sera généré.
Valeurs renvoyées
OT_ERROR_INVALID_STATE
Le gestionnaire de routage de bordure n'a pas encore été initialisé.
OT_ERROR_NONE
Le préfixe du lien a bien été récupéré.

otBorderRoutingInit

otError otBorderRoutingInit(
  otInstance *aInstance,
  uint32_t aInfraIfIndex,
  bool aInfraIfIsRunning
)

Cette méthode initialise le gestionnaire de routage frontière sur l'interface d'infrastructure donnée.

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
[in] aInfraIfIndex
Index de l'interface de l'infrastructure.
[in] aInfraIfIsRunning
Valeur booléenne indiquant si l'interface de l'infrastructure est en cours d'exécution.
Valeurs renvoyées
OT_ERROR_NONE
Le gestionnaire d'acheminement de frontière a bien démarré sur l'infrastructure donnée.
OT_ERROR_INVALID_STATE
Le gestionnaire de routage de bordure a déjà été initialisé.
OT_ERROR_INVALID_ARGS
L'index de l'interface de l'infrastructure n'est pas valide.
OT_ERROR_FAILED
Échec interne. Cette erreur est généralement due à l'échec de la génération de préfixes aléatoires.
Voir également:
otPlatInfraIfStateChange.

otBorderRoutingSetEnabled

otError otBorderRoutingSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Cette méthode permet d'activer ou de désactiver le gestionnaire d'acheminement des frontières.

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
[in] aEnabled
Valeur booléenne permettant d'activer ou de désactiver le gestionnaire de routage.
Valeurs renvoyées
OT_ERROR_INVALID_STATE
Le gestionnaire de routage de bordure n'a pas encore été initialisé.
OT_ERROR_NONE
Le gestionnaire du routage des frontières a bien été activé/désactivé.

Resources

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 page Ressources.