Border-Router

Dieses Modul enthält Funktionen zum Verwalten lokaler Netzwerkdaten mit dem OpenThread Border Router.

Zusammenfassung

Funktionen

otBorderRouterAddOnMeshPrefix(otInstance *aInstance, const otBorderRouterConfig *aConfig)
Fügen Sie den lokalen Netzwerkdaten eine Konfiguration für einen Border-Router hinzu.
otBorderRouterAddRoute(otInstance *aInstance, const otExternalRouteConfig *aConfig)
Fügen Sie den Daten des lokalen Netzwerks eine externe Routenkonfiguration hinzu.
otBorderRouterGetNetData(otInstance *aInstance, bool aStable, uint8_t *aData, uint8_t *aDataLength)
Mit dieser Methode wird eine vollständige oder stabile Kopie der lokalen Thread-Netzwerkdaten bereitgestellt.
otBorderRouterGetNextOnMeshPrefix(otInstance *aInstance, otNetworkDataIterator *aIterator, otBorderRouterConfig *aConfig)
Diese Funktion ruft das nächste On Mesh-Präfix in den lokalen Netzwerkdaten ab.
otBorderRouterGetNextRoute(otInstance *aInstance, otNetworkDataIterator *aIterator, otExternalRouteConfig *aConfig)
Diese Funktion 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 eine Border-Router-Konfiguration aus den lokalen Netzwerkdaten.
otBorderRouterRemoveRoute(otInstance *aInstance, const otIp6Prefix *aPrefix)
Entfernen Sie die Konfiguration einer externen Route aus den lokalen Netzwerkdaten.
otBorderRoutingGetNat64Prefix(otInstance *aInstance, otIp6Prefix *aPrefix)
Diese Funktion gibt das lokale NAT64-Präfix zurück.
otBorderRoutingGetOmrPrefix(otInstance *aInstance, otIp6Prefix *aPrefix)
Diese Methode gibt das Präfix des Off-Mesh-Roibles (OMR) zurück.
otBorderRoutingGetOnLinkPrefix(otInstance *aInstance, otIp6Prefix *aPrefix)
Diese Methode gibt das On-Link-Präfix für den angrenzenden Infrastruktur-Link zurück.
otBorderRoutingInit(otInstance *aInstance, uint32_t aInfraIfIndex, bool aInfraIfIsRunning)
Diese Methode initialisiert den Border Routing Manager auf der angegebenen Infrastrukturschnittstelle.
otBorderRoutingSetEnabled(otInstance *aInstance, bool aEnabled)
Mit dieser Methode wird der Border Routing Manager aktiviert/deaktiviert.

Funktionen

otBorderRouterAddOnMeshPrefix

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

Fügen Sie den lokalen Netzwerkdaten eine Konfiguration für einen Border-Router hinzu.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aConfig
Ein 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, um die Konfiguration den lokalen Netzwerkdaten hinzuzufügen.
Weitere Informationen:
otBorderRouterRemoveOnMeshPrefix
otBorderRouterRegister

otBorderRouterAddRoute

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

Fügen Sie den Daten des lokalen Netzwerks eine externe Routenkonfiguration hinzu.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aConfig
Ein 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, 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
)

Mit dieser Methode wird eine vollständige oder stabile Kopie der lokalen Thread-Netzwerkdaten bereitgestellt.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aStable
TRUE beim Kopieren der stabilen Version, FALSE beim Kopieren der Vollversion.
[out] aData
Ein Zeiger auf den Datenpuffer.
[in,out] aDataLength
Bei dem Eintrag entspricht die Größe des Datenpuffers, auf die aData verweist. Beim Beenden die Anzahl der kopierten Byte.

otBorderRouterGetNextOnMeshPrefix

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

Diese Funktion 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 Kontext des Netzwerkdaten-Iterators. Für den ersten Eintrag im Mesh-Netzwerk muss OT_NETWORK_DATA_ITERATOR_INIT festgelegt werden.
[out] aConfig
Ein Zeiger auf die Informationen zum On-Mesh-Präfix.
Rückgabewerte
OT_ERROR_NONE
Nächstes On-Mesh-Präfix erfolgreich gefunden.
OT_ERROR_NOT_FOUND
In den Thread-Netzwerkdaten ist kein nachfolgendes On Mesh-Präfix vorhanden.

otBorderRouterGetNextRoute

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

Diese Funktion 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 Kontext des Netzwerkdaten-Iterators. Zum Abrufen des ersten externen Routeneintrags sollte OT_NETWORK_DATA_ITERATOR_INIT festgelegt werden.
[out] aConfig
Ein Zeiger auf Informationen zur externen Route.
Rückgabewerte
OT_ERROR_NONE
Nächste externe Route erfolgreich gefunden.
OT_ERROR_NOT_FOUND
In den Thread-Netzwerkdaten ist kein nachfolgender externer Routeneintrag vorhanden.

otBorderRouterRegister

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
Serverdatenanfragenachricht wurde für die Zustellung erfolgreich in die Warteschlange gestellt.
Weitere Informationen:
otBorderRouterAddOnMeshPrefix
otBorderRouterRemoveOnMeshPrefix
otBorderRouterAddRoute
otBorderRouterRemoveRoute

otBorderRouterRemoveOnMeshPrefix

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

Entfernen Sie eine Border-Router-Konfiguration 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 Border Router-Eintrag 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 Border Router-Eintrag konnte nicht gefunden werden.
Weitere Informationen:
otBorderRouterAddRoute
otBorderRouterRegister

otBorderRoutingGetNat64Prefix

otError otBorderRoutingGetNat64Prefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

Diese Funktion gibt das lokale NAT64-Präfix zurück.

Dieses Präfix wird im Thread-Netzwerk möglicherweise nicht beworben.

Diese Funktion ist nur verfügbar, wenn OPENTHREAD_CONFIG_BORDER_ROUTING_NAT64_ENABLE aktiviert ist.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[out] aPrefix
Ein Zeiger, wohin das Präfix ausgegeben wird.
Rückgabewerte
OT_ERROR_INVALID_STATE
Der Border Routing Manager ist noch nicht initialisiert.
OT_ERROR_NONE
Das NAT64-Präfix wurde abgerufen.

otBorderRoutingGetOmrPrefix

otError otBorderRoutingGetOmrPrefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

Diese Methode gibt das Präfix des Off-Mesh-Roibles (OMR) zurück.

Das zufällig generierte 64-Bit-Präfix wird im Thread-Netzwerk veröffentlicht, wenn nicht bereits ein OMR-Präfix vorhanden ist.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[out] aPrefix
Ein Zeiger, wohin das Präfix ausgegeben wird.
Rückgabewerte
OT_ERROR_INVALID_STATE
Der Border Routing Manager ist noch nicht initialisiert.
OT_ERROR_NONE
OMR-Präfix wurde abgerufen.

otBorderRoutingGetOnLinkPrefix

otError otBorderRoutingGetOnLinkPrefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

Diese Methode gibt das On-Link-Präfix für den angrenzenden Infrastruktur-Link zurück.

Das zufällig generierte 64-Bit-Präfix wird im Infrastrukturlink angegeben, wenn nicht bereits ein verwendbares On-Link-Präfix für den Link angeboten wird.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[out] aPrefix
Ein Zeiger, wohin das Präfix ausgegeben wird.
Rückgabewerte
OT_ERROR_INVALID_STATE
Der Border Routing Manager ist noch nicht initialisiert.
OT_ERROR_NONE
Das On-Link-Präfix wurde abgerufen.

otBorderRoutingInit

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

Diese Methode initialisiert den Border Routing Manager auf der angegebenen Infrastrukturschnittstelle.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aInfraIfIndex
Der Index der Infrastrukturschnittstelle.
[in] aInfraIfIsRunning
Ein boolescher Wert, der angibt, ob die Infrastrukturschnittstelle ausgeführt wird.
Rückgabewerte
OT_ERROR_NONE
Border Routing Manager wurde für die angegebene Infrastruktur gestartet.
OT_ERROR_INVALID_STATE
Der Border Routing Manager wurde bereits initialisiert.
OT_ERROR_INVALID_ARGS
Der Index der Infrastrukturschnittstelle ist nicht gültig.
OT_ERROR_FAILED
Interner Fehler. Normalerweise aufgrund eines Fehlers beim Generieren zufälliger Präfixe.
Weitere Informationen:
otPlatInfraIfStateChanged

otBorderRoutingSetEnabled

otError otBorderRoutingSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Mit dieser Methode wird der Border Routing Manager aktiviert/deaktiviert.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aEnabled
Boolescher Wert, der den Routing-Manager aktiviert/deaktiviert.
Rückgabewerte
OT_ERROR_INVALID_STATE
Der Border Routing Manager ist noch nicht initialisiert.
OT_ERROR_NONE
Border Routing Manager erfolgreich aktiviert/deaktiviert.

Ressourcen

Die OpenThread API-Referenzthemen stammen aus dem Quellcode, der auf GitHub verfügbar ist. Weitere Informationen und einen Beitrag zu unserer Dokumentation finden Sie unter Ressourcen.