Routeur de bordure

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

Résumé

Typedefs

otBorderRouterNetDataFullCallback)(void *aContext) typedef
void(*
Rappel de pointeur de fonction appelé lorsque les données réseau (locales ou locales) sont saturées.

Fonctions

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)
Fournit une copie complète ou stable des données du réseau Thread local.
otBorderRouterGetNextOnMeshPrefix(otInstance *aInstance, otNetworkDataIterator *aIterator, otBorderRouterConfig *aConfig)
Récupère le préfixe activé suivant dans les données réseau locales.
otBorderRouterGetNextRoute(otInstance *aInstance, otNetworkDataIterator *aIterator, otExternalRouteConfig *aConfig)
Récupère la route externe suivante dans les données du réseau local.
otBorderRouterRegister(otInstance *aInstance)
Enregistre immédiatement les données du réseau local auprès du leader.
otBorderRouterRemoveOnMeshPrefix(otInstance *aInstance, const otIp6Prefix *aPrefix)
Supprimez une configuration de routeur de bordure des données du réseau local.
otBorderRouterRemoveRoute(otInstance *aInstance, const otIp6Prefix *aPrefix)
Supprimez une configuration de route externe des données du réseau local.
otBorderRouterSetNetDataFullCallback(otInstance *aInstance, otBorderRouterNetDataFullCallback aCallback, void *aContext)
void
Définit le rappel pour indiquer quand les données réseau sont pleines.

Typedefs

otBorderRouterNetDataFullCallback

void(* otBorderRouterNetDataFullCallback)(void *aContext)

Rappel de pointeur de fonction appelé lorsque les données réseau (locales ou locales) sont saturées.

Détails
Paramètres
[in] aContext
Un pointeur vers des informations contextuelles arbitraires.

Fonctions

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
Un pointeur vers une instance OpenThread.
[in] aConfig
Un 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 aussi:
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
Un pointeur vers une instance OpenThread.
[in] aConfig
Un pointeur vers la configuration du routage 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 aussi:
otBorderRouterRemoveRoute
otBorderRouterRegister

otBorderRouterGetNetData

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

Fournit une copie complète ou stable des données du réseau Thread local.

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

otBorderRouterGetNextOnMeshPrefix

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

Récupère le préfixe activé suivant dans les données réseau locales.

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

otBorderRouterGetNextRoute

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

Récupère la route externe suivante dans les données du réseau local.

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

otBorderRouterRegister

otError otBorderRouterRegister(
  otInstance *aInstance
)

Enregistre immédiatement les données du réseau local auprès du leader.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
Valeurs renvoyées
OT_ERROR_NONE
Un message de demande de données du serveur a bien été placé dans la file d'attente.
Voir aussi:
otBorderRouterAddOnMeshPrefix
otBorderRouterRemoveOnMeshPrefix
otBorderRouterAddRoute
otBorderRouterRemoveRoute

otBorderRouterRemoveOnMeshPrefix

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

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

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[in] aPrefix
Un 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 aussi:
otBorderRouterAddOnMeshPrefix
otBorderRouterRegister

otBorderRouterRemoveRoute

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

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

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[in] aPrefix
Un 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 aussi:
otBorderRouterAddRoute
otBorderRouterRegister

otBorderRouterSetNetDataFullCallback

void otBorderRouterSetNetDataFullCallback(
  otInstance *aInstance,
  otBorderRouterNetDataFullCallback aCallback,
  void *aContext
)

Définit le rappel pour indiquer quand les données réseau sont pleines.

Nécessite OPENTHREAD_CONFIG_BORDER_ROUTER_SIGNAL_NETWORK_DATA_FULL.

Le rappel est appelé chaque fois que:

  • L'appareil joue le rôle de leader et reçoit un enregistrement de données réseau provenant d'un routeur de bordure (BR) qu'il ne peut pas ajouter aux données réseau (à court d'espace).
  • L'appareil agit en tant que Brésil. Il est impossible d'ajouter de nouvelles entrées à ses données réseau locales.
  • L'appareil agit en tant que BR et tente d'enregistrer ses entrées de données réseau locales auprès du leader, mais détermine que ses entrées locales ne sont pas adaptées.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[in] aCallback
Rappel.
[in] aContext
Un pointeur vers des informations contextuelles arbitraires utilisées avec aCallback.

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