Infrastrukturschnittstelle

Dieses Modul enthält die Plattformabstraktion für die angrenzende Infrastrukturnetzwerkschnittstelle.

Zusammenfassung

Funktionen

otPlatInfraIfDiscoverNat64Prefix(uint32_t aInfraIfIndex)
Senden Sie mit aInfraIfIndex eine Anfrage, um das NAT64-Präfix auf der Infrastrukturschnittstelle zu ermitteln.
otPlatInfraIfDiscoverNat64PrefixDone(otInstance *aInstance, uint32_t aInfraIfIndex, const otIp6Prefix *aIp6Prefix)
void
Der Infrastruktur-Schnittstellentreiber ruft diese Methode auf, um OpenThread darüber zu informieren, dass die Erkennung des NAT64-Präfixes abgeschlossen ist.
otPlatInfraIfHasAddress(uint32_t aInfraIfIndex, const otIp6Address *aAddress)
bool
Gibt an, ob einer Infrastrukturschnittstelle die angegebene IPv6-Adresse zugewiesen ist.
otPlatInfraIfRecvIcmp6Nd(otInstance *aInstance, uint32_t aInfraIfIndex, const otIp6Address *aSrcAddress, const uint8_t *aBuffer, uint16_t aBufferLength)
void
Der Infrastruktur-Schnittstellentreiber ruft diese Methode auf, um OpenThread darüber zu informieren, dass eine ICMPv6 Neighbor Discovery-Nachricht empfangen wurde.
otPlatInfraIfSendIcmp6Nd(uint32_t aInfraIfIndex, const otIp6Address *aDestAddress, const uint8_t *aBuffer, uint16_t aBufferLength)
Sendet eine ICMPv6-Neighbor Discovery-Nachricht an eine bestimmte Infrastrukturschnittstelle.
otPlatInfraIfStateChanged(otInstance *aInstance, uint32_t aInfraIfIndex, bool aIsRunning)
Der Infrastruktur-Schnittstellentreiber ruft diese Methode auf, um OpenThread über die Änderungen des Schnittstellenstatus zu informieren.

Funktionen

otPlatInfraIfDiscoverNat64Prefix

otError otPlatInfraIfDiscoverNat64Prefix(
  uint32_t aInfraIfIndex
)

Senden Sie mit aInfraIfIndex eine Anfrage, um das NAT64-Präfix auf der Infrastrukturschnittstelle zu ermitteln.

OpenThread ruft diese Methode regelmäßig auf, um das Vorhandensein oder die Änderung des NAT64-Präfixes zu überwachen.

Details
Parameter
[in] aInfraIfIndex
Der Index der Infrastrukturschnittstelle, um das NAT64-Präfix zu ermitteln.
Rückgabewerte
OT_ERROR_NONE
NAT64-Präfixerkennung anfordern.
OT_ERROR_FAILED
NAT64-Präfixerkennung konnte nicht angefordert werden.

otPlatInfraIfDiscoverNat64PrefixDone

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

Der Infrastruktur-Schnittstellentreiber ruft diese Methode auf, um OpenThread darüber zu informieren, dass die Erkennung des NAT64-Präfixes abgeschlossen ist.

Muss nach dem Aufrufen von otPlatInfraIfDiscoverNat64Präfix aufgerufen werden. Wenn kein NAT64-Präfix gefunden wird, muss aIp6Prefix auf ein leeres Präfix mit der Länge null verweisen.

Details
Parameter
[in] aInstance
Die OpenThread-Instanzstruktur.
[in] aInfraIfIndex
Der Index der Infrastrukturschnittstelle, in der das NAT64-Präfix erkannt wird.
[in] aIp6Prefix
Ein Zeiger auf das NAT64-Präfix.

otPlatInfraIfHasAddress

bool otPlatInfraIfHasAddress(
  uint32_t aInfraIfIndex,
  const otIp6Address *aAddress
)

Gibt an, ob einer Infrastrukturschnittstelle die angegebene IPv6-Adresse zugewiesen ist.

Details
Parameter
[in] aInfraIfIndex
Der Index der Infrastrukturschnittstelle.
[in] aAddress
Die IPv6-Adresse.
Rückgabe
TRUE, wenn die Infrastrukturschnittstelle eine IPv6-Adresse zugewiesen hat, andernfalls FALSE.

otPlatInfraIfRecvIcmp6Nd

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

Der Infrastruktur-Schnittstellentreiber ruft diese Methode auf, um OpenThread darüber zu informieren, dass eine ICMPv6 Neighbor Discovery-Nachricht empfangen wurde.

Weitere Informationen finden Sie unter RFC 4861: https://tools.ietf.org/html/rfc4861.

Details
Parameter
[in] aInstance
Die OpenThread-Instanzstruktur.
[in] aInfraIfIndex
Der Index der Infrastrukturschnittstelle, auf der die ICMPv6-Nachricht empfangen wird.
[in] aSrcAddress
Die Quelladresse, von der diese Nachricht empfangen wird.
[in] aBuffer
Der ICMPv6-Nachrichtenpuffer.
[in] aBufferLength
Die Länge des ICMPv6-Nachrichtenpuffers.

otPlatInfraIfSendIcmp6Nd

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

Sendet eine ICMPv6-Neighbor Discovery-Nachricht an eine bestimmte Infrastrukturschnittstelle.

Weitere Informationen finden Sie unter RFC 4861: https://tools.ietf.org/html/rfc4861.

Details
Parameter
[in] aInfraIfIndex
Der Index der Infrastrukturschnittstelle, an die diese Nachricht gesendet wird.
[in] aDestAddress
Die Zieladresse, an die diese Nachricht gesendet wird.
[in] aBuffer
Der ICMPv6-Nachrichtenpuffer. Die ICMPv6-Prüfsumme bleibt null und die Plattform sollte die Prüfsumme berechnen.
[in] aBufferLength
Die Länge des Nachrichtenpuffers.
Rückgabewerte
OT_ERROR_NONE
ICMPv6-Nachricht wurde gesendet.
OT_ERROR_FAILED
ICMPv6-Nachricht konnte nicht gesendet werden.

otPlatInfraIfStateChanged

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

Der Infrastruktur-Schnittstellentreiber ruft diese Methode auf, um OpenThread über die Änderungen des Schnittstellenstatus zu informieren.

Die Plattform kann die Methode auch dann problemlos aufrufen, wenn sich der Ausführungsstatus der Schnittstelle nicht geändert hat. In diesem Fall ist der Status des Routing Managers nicht betroffen.

Details
Parameter
[in] aInstance
Die OpenThread-Instanzstruktur.
[in] aInfraIfIndex
Der Index der Infrastrukturschnittstelle.
[in] aIsRunning
Ein boolescher Wert, der angibt, ob die Infrastrukturschnittstelle ausgeführt wird.
Rückgabewerte
OT_ERROR_NONE
Der Status der Infra-Schnittstelle wurde aktualisiert.
OT_ERROR_INVALID_STATE
Der Routing-Manager wurde nicht initialisiert.
OT_ERROR_INVALID_ARGS
aInfraIfIndex stimmt nicht mit der Infrastrukturschnittstelle überein, mit der der Routing Manager initialisiert wird.

Ressourcen

OpenThread API-Referenzthemen stammen aus dem Quellcode, der auf GitHub verfügbar ist. Weitere Informationen finden Sie unter Ressourcen. Dort können Sie auch einen Beitrag zu unserer Dokumentation leisten.