Border-Router

Dieses Modul enthält Funktionen zur Verwaltung lokaler Netzwerkdaten mit dem OpenThread-Border-Router.

Zusammenfassung

Typdef1

otBorderRouterNetDataFullCallback)(void *aContext) Typdef
void(*
Funktionsaufruf-Callback, das aufgerufen wird, wenn die Netzwerkdaten (lokal oder führende) voll werden.

Functions

otBorderRouterAddOnMeshPrefix(otInstance *aInstance, const otBorderRouterConfig *aConfig)
Fügen Sie den lokalen Netzwerkdaten eine Border-Routerkonfiguration hinzu.
otBorderRouterAddRoute(otInstance *aInstance, const otExternalRouteConfig *aConfig)
Fügen Sie den lokalen Netzwerkdaten eine Konfiguration für externe Routen hinzu.
otBorderRouterGetNetData(otInstance *aInstance, bool aStable, uint8_t *aData, uint8_t *aDataLength)
Stellt eine vollständige oder stabile Kopie der lokalen Thread-Netzwerkdaten bereit.
otBorderRouterGetNextOnMeshPrefix(otInstance *aInstance, otNetworkDataIterator *aIterator, otBorderRouterConfig *aConfig)
Ruft das nächste On Mesh-Präfix in den lokalen Netzwerkdaten ab.
otBorderRouterGetNextRoute(otInstance *aInstance, otNetworkDataIterator *aIterator, otExternalRouteConfig *aConfig)
Ruft die nächste externe Route in den lokalen Netzwerkdaten ab.
otBorderRouterRegister(otInstance *aInstance)
Registrieren Sie sofort die lokalen Netzwerkdaten beim Leader.
otBorderRouterRemoveOnMeshPrefix(otInstance *aInstance, const otIp6Prefix *aPrefix)
Entfernen Sie die Konfiguration eines Border-Routers aus den lokalen Netzwerkdaten.
otBorderRouterRemoveRoute(otInstance *aInstance, const otIp6Prefix *aPrefix)
Entfernen Sie die Konfiguration einer externen Route aus den lokalen Netzwerkdaten.
otBorderRouterSetNetDataFullCallback(otInstance *aInstance, otBorderRouterNetDataFullCallback aCallback, void *aContext)
void
Legt den Callback fest, um anzugeben, wann die Netzwerkdaten voll sind.

Typdef1

OTBorderRouterNetDataFullCallback

void(* otBorderRouterNetDataFullCallback)(void *aContext)

Funktionsaufruf-Callback, das aufgerufen wird, wenn die Netzwerkdaten (lokal oder führende) voll werden.

Details
Parameter
[in] aContext
Ein Zeiger auf beliebige Kontextinformationen.

Functions

otBorderRouterAddOnMeshPrefix

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

Fügen Sie den lokalen Netzwerkdaten eine Border-Routerkonfiguration hinzu.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aConfig
Zeiger auf die Konfiguration des Border-Routers.
Rückgabewerte
OT_ERROR_NONE
Die Konfiguration wurde den lokalen Netzwerkdaten hinzugefügt.
OT_ERROR_INVALID_ARGS
Mindestens ein Konfigurationsparameter war ungültig.
OT_ERROR_NO_BUFS
Es ist nicht genügend Platz verfügbar, um die Konfiguration den lokalen Netzwerkdaten hinzuzufügen.
Weitere Informationen:
otBorderRouterRemoveOnMeshPrefix
otBorderRouterRegister

otBorderRouterAddRoute

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

Fügen Sie den lokalen Netzwerkdaten eine Konfiguration für externe Routen hinzu.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aConfig
Zeiger auf die Konfiguration der externen Route.
Rückgabewerte
OT_ERROR_NONE
Die Konfiguration wurde den lokalen Netzwerkdaten hinzugefügt.
OT_ERROR_INVALID_ARGS
Mindestens ein Konfigurationsparameter war ungültig.
OT_ERROR_NO_BUFS
Es ist nicht genügend Platz verfügbar, um die Konfiguration den lokalen Netzwerkdaten hinzuzufügen.
Weitere Informationen:
otBorderRouterRemoveRoute
otBorderRouterRegister

OTBorderRouterGetNetData

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

Stellt eine vollständige oder stabile Kopie der lokalen Thread-Netzwerkdaten bereit.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aStable
WAHR, wenn die stabile Version kopiert wird, FALSCH, wenn die Vollversion kopiert wird.
[out] aData
Ein Zeiger auf den Datenzwischenspeicher.
[in,out] aDataLength
Bei Eingabe gilt die Größe des Datenzwischenspeichers, auf den von aData verwiesen wird. Beim Beenden die Anzahl der kopierten Byte.

otBorderRouterGetNextOnMeshPrefix

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

Ruft das nächste On Mesh-Präfix in den lokalen Netzwerkdaten ab.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in,out] aIterator
Ein Zeiger auf den Netzwerkdaten-Iterator-Kontext. Um den ersten Eintrag in einem Mesh-Netzwerk zu erhalten, sollte er auf OT_NETWORK_DATA_ITERATOR_INIT eingestellt sein.
[out] aConfig
Ein Hinweis auf die Informationen zum On Mesh-Präfix.
Rückgabewerte
OT_ERROR_NONE
Das nächste On Mesh-Präfix wurde gefunden.
OT_ERROR_NOT_FOUND
In den Thread-Netzwerkdaten ist kein nachfolgendes Mesh-Präfix vorhanden.

otBorderRouterGetNextRoute

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

Ruft die nächste externe Route in den lokalen Netzwerkdaten ab.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in,out] aIterator
Ein Zeiger auf den Netzwerkdaten-Iterator-Kontext. Zum Abrufen des ersten externen Routeneintrags sollte er auf OT_NETWORK_DATA_ITERATOR_INIT festgelegt sein.
[out] aConfig
Ein Hinweis auf die Informationen zur externen Route.
Rückgabewerte
OT_ERROR_NONE
Die nächste externe Route wurde gefunden.
OT_ERROR_NOT_FOUND
In den Thread-Netzwerkdaten ist kein weiterer Eintrag für externe Routen vorhanden.

Registry-Router

otError otBorderRouterRegister(
  otInstance *aInstance
)

Registrieren Sie sofort die lokalen Netzwerkdaten beim Leader.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
Rückgabewerte
OT_ERROR_NONE
Eine Serveranfrageanfrage zur Auslieferung wurde in die Warteschlange gestellt.
Weitere Informationen:
otBorderRouterAddOnMeshPrefix
otBorderRouterRemoveOnMeshPrefix
otBorderRouterAddRoute
otBorderRouterRemoveRoute

otBorderRouterRemoveOnMeshPrefix

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

Entfernen Sie die Konfiguration eines Border-Routers aus den lokalen Netzwerkdaten.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aPrefix
Ein Zeiger auf ein IPv6-Präfix.
Rückgabewerte
OT_ERROR_NONE
Die Konfiguration wurde aus den lokalen Netzwerkdaten entfernt.
OT_ERROR_NOT_FOUND
Der Eintrag „Border Router“ konnte nicht gefunden werden.
Weitere Informationen:
otBorderRouterAddOnMeshPrefix
otBorderRouterRegister

otBorderRouterRemoveRoute

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

Entfernen Sie die Konfiguration einer externen Route aus den lokalen Netzwerkdaten.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aPrefix
Ein Zeiger auf ein IPv6-Präfix.
Rückgabewerte
OT_ERROR_NONE
Die Konfiguration wurde aus den lokalen Netzwerkdaten entfernt.
OT_ERROR_NOT_FOUND
Der Eintrag „Border Router“ konnte nicht gefunden werden.
Weitere Informationen:
otBorderRouterAddRoute
otBorderRouterRegister

OTBorderRouterSetNetDataFullCallback

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

Legt den Callback fest, um anzugeben, wann die Netzwerkdaten voll sind.

Erfordert OPENTHREAD_CONFIG_BORDER_ROUTER_SIGNAL_NETWORK_DATA_FULL.

Der Callback wird immer dann aufgerufen, wenn:

  • Das Gerät fungiert als Leader und erhält eine Netzwerkdatenregistrierung von einem Border-Router (BR), den er nicht zu Netzwerkdaten hinzufügen kann (zu wenig Speicherplatz).
  • Das Gerät fungiert als BR und neue Einträge können nicht zu seinen lokalen Netzwerkdaten hinzugefügt werden.
  • Das Gerät fungiert als AF und versucht, seine lokalen Netzwerkdaten beim Leader zu registrieren, entscheidet jedoch, dass seine lokalen Einträge nicht passen.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aCallback
Der Callback.
[in] aContext
Ein Zeiger auf beliebige Kontextinformationen, die mit aCallback verwendet werden.

Ressourcen

Die Themen der OpenThread API-Referenz stammen aus dem Quellcode, der auf GitHub verfügbar ist. Weitere Informationen oder als Ergänzung zu unserer Dokumentation finden Sie unter Ressourcen.