IPv6

Dieses Modul enthält Funktionen, die die IPv6-Kommunikation steuern.

Zusammenfassung

Aufzählungen

anonymous enum{
  OT_IP6_PROTO_HOP_OPTS = 0,
  OT_IP6_PROTO_TCP = 6,
  OT_IP6_PROTO_UDP = 17,
  OT_IP6_PROTO_IP6 = 41,
  OT_IP6_PROTO_ROUTING = 43,
  OT_IP6_PROTO_FRAGMENT = 44,
  OT_IP6_PROTO_ICMP6 = 58,
  OT_IP6_PROTO_NONE = 59,
  OT_IP6_PROTO_DST_OPTS = 60
}
enum
Internet Protocol-Nummern.
anonymous enum{
  OT_ADDRESS_ORIGIN_THREAD = 0,
  OT_ADDRESS_ORIGIN_SLAAC = 1,
  OT_ADDRESS_ORIGIN_DHCPV6 = 2,
  OT_ADDRESS_ORIGIN_MANUAL = 3
}
enum
IPv6-Adressursprünge.
anonymous enum{
  OT_ECN_NOT_CAPABLE = 0x0,
  OT_ECN_CAPABLE_0 = 0x2,
  OT_ECN_CAPABLE_1 = 0x1,
  OT_ECN_MARKED = 0x3
}
enum
ECN-Status, dargestellt wie im IP-Header

Typedefs

otBorderRoutingCounters typedef
Stellt die Zähler von Paketen dar, die über Border Routing weitergeleitet werden.
otIp6Address typedef
struct otIp6Address
Stellt eine IPv6-Adresse dar.
otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext) typedef
void(*
Pointer wird aufgerufen, wenn eine interne IPv6-Adresse hinzugefügt oder entfernt wird.
otIp6AddressComponents typedef
Stellt die Komponenten einer IPv6-Adresse dar.
otIp6AddressInfo typedef
Stellt IPv6-Adressinformationen dar.
otIp6InterfaceIdentifier typedef
Stellt die Schnittstellen-ID einer IPv6-Adresse dar.
otIp6NetworkPrefix typedef
Stellt das Netzwerkpräfix einer IPv6-Adresse dar (die wichtigsten 64 Bit der Adresse).
otIp6Prefix typedef
struct otIp6Prefix
Stellt ein IPv6-Präfix dar.
otIp6ReceiveCallback)(otMessage *aMessage, void *aContext) typedef
void(*
Pointer wird aufgerufen, wenn ein IPv6-Datagramm empfangen wird.
otIp6RegisterMulticastListenersCallback)(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum) typedef
void(*
Pointer wird mit den Ergebnissen otIp6RegisterMulticastListeners aufgerufen.
otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix *aPrefix) typedef
bool(*
Zeiger ermöglicht dem Nutzer, Präfixe zu filtern, und lässt nicht zu, dass eine SLAAC-Adresse basierend auf einem Präfix hinzugefügt wird.
otMessageInfo typedef
struct otMessageInfo
Stellt die lokalen und Peer-IPv6-Socket-Adressen dar.
otNetifAddress typedef
Stellt eine Unicast-Adresse einer IPv6-Netzwerkschnittstelle dar.
otNetifMulticastAddress typedef
Stellt eine Multicast-Adresse einer IPv6-Netzwerkschnittstelle dar.
otPacketsAndBytes typedef
Stellt die Zähler für Pakete und Byte dar.
otSockAddr typedef
struct otSockAddr
Stellt eine IPv6-Socket-Adresse dar.

Variablen

OT_TOOL_PACKED_END

Funktionen

otIp6AddUnicastAddress(otInstance *aInstance, const otNetifAddress *aAddress)
Fügt der Thread-Schnittstelle eine Adresse der Netzwerkschnittstelle hinzu.
otIp6AddUnsecurePort(otInstance *aInstance, uint16_t aPort)
Fügt der Liste der zulässigen ungesicherten Ports einen Port hinzu.
otIp6AddressFromString(const char *aString, otIp6Address *aAddress)
Wandelt einen menschenlesbaren IPv6-Adressstring in eine binäre Darstellung um.
otIp6AddressToString(const otIp6Address *aAddress, char *aBuffer, uint16_t aSize)
void
Wandelt eine bestimmte IPv6-Adresse in einen menschenlesbaren String um.
otIp6ArePrefixesEqual(const otIp6Prefix *aFirst, const otIp6Prefix *aSecond)
bool
Testen Sie, ob zwei IPv6-Präfixe identisch sind.
otIp6GetBorderRoutingCounters(otInstance *aInstance)
Ruft die Border-Routing-Zähler ab.
otIp6GetMulticastAddresses(otInstance *aInstance)
Ruft die Liste der IPv6-Multicast-Adressen ab, die die Thread-Schnittstelle abonniert haben.
otIp6GetPrefix(const otIp6Address *aAddress, uint8_t aLength, otIp6Prefix *aPrefix)
void
Ruft ein Präfix mit aLength aus aAddress ab.
otIp6GetUnicastAddresses(otInstance *aInstance)
const otNetifAddress *
Ruft die Liste der IPv6-Adressen ab, die der Thread-Schnittstelle zugewiesen sind.
otIp6GetUnsecurePorts(otInstance *aInstance, uint8_t *aNumEntries)
const uint16_t *
Gibt einen Zeiger auf die Liste der unsicheren Ports zurück.
otIp6HasUnicastAddress(otInstance *aInstance, const otIp6Address *aAddress)
bool
Gibt an, ob der Thread-Schnittstelle eine Unicast-IPv6-Adresse zugewiesen ist.
otIp6IsAddressEqual(const otIp6Address *aFirst, const otIp6Address *aSecond)
bool
Testen Sie, ob zwei IPv6-Adressen identisch sind.
otIp6IsAddressUnspecified(const otIp6Address *aAddress)
bool
Gibt an, ob eine bestimmte IPv6-Adresse die nicht angegebene Adresse ist.
otIp6IsEnabled(otInstance *aInstance)
bool
Gibt an, ob die IPv6-Schnittstelle aktiv ist.
otIp6IsMulticastPromiscuousEnabled(otInstance *aInstance)
bool
Überprüft, ob der promiskuitive Multicast-Modus auf der Thread-Schnittstelle aktiviert ist.
otIp6IsReceiveFilterEnabled(otInstance *aInstance)
bool
Gibt an, ob Traffic von Thread-Steuerungen herausgefiltert wird, wenn IPv6-Datagramme über den in otIp6SetReceiveCallback() angegebenen Callback gesendet werden.
otIp6IsSlaacEnabled(otInstance *aInstance)
bool
Gibt an, ob das SLAAC-Modul aktiviert ist oder nicht.
otIp6NewMessage(otInstance *aInstance, const otMessageSettings *aSettings)
Weisen Sie einen neuen Nachrichtenpuffer zum Senden einer IPv6-Nachricht zu.
otIp6NewMessageFromBuffer(otInstance *aInstance, const uint8_t *aData, uint16_t aDataLength, const otMessageSettings *aSettings)
Weisen Sie einen neuen Nachrichtenpuffer zu und schreiben Sie das IPv6-Datagramm in den Nachrichtenpuffer, um eine IPv6-Nachricht zu senden.
otIp6PrefixFromString(const char *aString, otIp6Prefix *aPrefix)
Wandelt einen menschenlesbaren IPv6-Präfixstring in eine binäre Darstellung um.
otIp6PrefixMatch(const otIp6Address *aFirst, const otIp6Address *aSecond)
uint8_t
Gibt die Präfixübereinstimmungslänge (Bits) für zwei IPv6-Adressen zurück.
otIp6PrefixToString(const otIp6Prefix *aPrefix, char *aBuffer, uint16_t aSize)
void
Wandelt ein bestimmtes IPv6-Präfix in einen menschenlesbaren String um.
otIp6ProtoToString(uint8_t aIpProto)
const char *
Wandelt eine bestimmte IP-Protokollnummer in einen menschenlesbaren String um.
otIp6RegisterMulticastListeners(otInstance *aInstance, const otIp6Address *aAddresses, uint8_t aAddressNum, const uint32_t *aTimeout, otIp6RegisterMulticastListenersCallback aCallback, void *aContext)
Registriert Multicast-Listener beim primären Backbone-Router.
otIp6RemoveAllUnsecurePorts(otInstance *aInstance)
void
Entfernt alle Ports aus der Liste der zulässigen unsicheren Ports.
otIp6RemoveUnicastAddress(otInstance *aInstance, const otIp6Address *aAddress)
Entfernt die Adresse einer Netzwerkschnittstelle aus der Thread-Schnittstelle.
otIp6RemoveUnsecurePort(otInstance *aInstance, uint16_t aPort)
Entfernt einen Port aus der Liste der zulässigen unsicheren Ports.
otIp6ResetBorderRoutingCounters(otInstance *aInstance)
void
Setzt die Border-Routing-Zähler zurück.
otIp6SelectSourceAddress(otInstance *aInstance, otMessageInfo *aMessageInfo)
Führt eine OpenThread-Quelladressauswahl durch.
otIp6Send(otInstance *aInstance, otMessage *aMessage)
Sendet ein IPv6-Datagramm über die Thread-Schnittstelle.
otIp6SetAddressCallback(otInstance *aInstance, otIp6AddressCallback aCallback, void *aCallbackContext)
void
Registriert einen Callback, um interne IPv6-Adressänderungen zu benachrichtigen.
otIp6SetEnabled(otInstance *aInstance, bool aEnabled)
Bringt die IPv6-Schnittstelle nach oben oder unten.
otIp6SetMeshLocalIid(otInstance *aInstance, const otIp6InterfaceIdentifier *aIid)
Legt die lokale Mesh-IID (zu Testzwecken) fest.
otIp6SetMulticastPromiscuousEnabled(otInstance *aInstance, bool aEnabled)
void
Aktiviert oder deaktiviert den promiskuitiven Multicast-Modus auf der Thread-Oberfläche.
otIp6SetReceiveCallback(otInstance *aInstance, otIp6ReceiveCallback aCallback, void *aCallbackContext)
void
Registriert einen Callback, um empfangene IPv6-Datagramme bereitzustellen.
otIp6SetReceiveFilterEnabled(otInstance *aInstance, bool aEnabled)
void
Legt fest, ob Traffic von Thread-Steuerung herausgefiltert wird, wenn IPv6-Datagramme über den in otIp6SetReceiveCallback() angegebenen Callback gesendet werden.
otIp6SetSlaacEnabled(otInstance *aInstance, bool aEnabled)
void
Aktiviert/deaktiviert das SLAAC-Modul.
otIp6SetSlaacPrefixFilter(otInstance *aInstance, otIp6SlaacPrefixFilter aFilter)
void
Legt den SLAAC-Modulfilter-Handler fest.
otIp6SockAddrToString(const otSockAddr *aSockAddr, char *aBuffer, uint16_t aSize)
void
Wandelt eine bestimmte IPv6-Socket-Adresse in einen menschenlesbaren String um.
otIp6SubscribeMulticastAddress(otInstance *aInstance, const otIp6Address *aAddress)
Abonnieren der Thread-Schnittstelle eine Multicast-Adresse der Netzwerkschnittstelle.
otIp6UnsubscribeMulticastAddress(otInstance *aInstance, const otIp6Address *aAddress)
Meldet die Thread-Schnittstelle von einer Netzwerkschnittstellen-Multicast-Adresse ab.

Strukturen

otBorderRoutingCounters

Stellt die Zähler von Paketen dar, die über Border Routing weitergeleitet werden.

otIp6Address

Stellt eine IPv6-Adresse dar.

otIp6AddressComponents

Stellt die Komponenten einer IPv6-Adresse dar.

otIp6AddressInfo

Stellt IPv6-Adressinformationen dar.

otIp6InterfaceIdentifier

Stellt die Schnittstellen-ID einer IPv6-Adresse dar.

otIp6NetworkPrefix

Stellt das Netzwerkpräfix einer IPv6-Adresse dar (die wichtigsten 64 Bit der Adresse).

otIp6Prefix

Stellt ein IPv6-Präfix dar.

otMessageInfo

Stellt die lokalen und Peer-IPv6-Socket-Adressen dar.

otNetifAddress

Stellt eine Unicast-Adresse einer IPv6-Netzwerkschnittstelle dar.

otNetifMulticastAddress

Stellt eine Multicast-Adresse einer IPv6-Netzwerkschnittstelle dar.

otPacketsAndBytes

Stellt die Zähler für Pakete und Byte dar.

otSockAddr

Stellt eine IPv6-Socket-Adresse dar.

Gewerkschaften

otIp6InterfaceIdentifier::OT_TOOL_PACKED_FIELD

Aufzählungen

Anonyme Aufzählung

 anonymous enum

Internet Protocol-Nummern.

Attribute
OT_IP6_PROTO_DST_OPTS

Zieloptionen für IPv6

OT_IP6_PROTO_FRAGMENT

Fragment-Header für IPv6.

OT_IP6_PROTO_HOP_OPTS

IPv6-Hop-für-Hop-Option.

OT_IP6_PROTO_ICMP6

ICMP für IPv6

OT_IP6_PROTO_IP6

IPv6-Kapselung.

OT_IP6_PROTO_NONE

Kein nächster Header für IPv6.

OT_IP6_PROTO_ROUTING

Routing-Header für IPv6.

OT_IP6_PROTO_TCP

Transmission Control Protocol.

OT_IP6_PROTO_UDP

User Datagramm.

Anonyme Aufzählung

 anonymous enum

IPv6-Adressursprünge.

Attribute
OT_ADDRESS_ORIGIN_DHCPV6

DHCPv6 zugewiesene Adresse.

OT_ADDRESS_ORIGIN_MANUAL

Manuell zugewiesene Adresse.

OT_ADDRESS_ORIGIN_SLAAC

Vom SLAAC zugewiesene Adresse.

OT_ADDRESS_ORIGIN_THREAD

Dem Thread zugewiesene Adresse (ALOC, RLOC, MLEID usw.)

Anonyme Aufzählung

 anonymous enum

ECN-Status, dargestellt wie im IP-Header

Attribute
OT_ECN_CAPABLE_0

ECT(0)

OT_ECN_CAPABLE_1

ECT(1)

OT_ECN_MARKED

Überlastung aufgetreten (CE)

OT_ECN_NOT_CAPABLE

Kein ECT.

Typedefs

otBorderRoutingCounters

struct otBorderRoutingCounters otBorderRoutingCounters

Stellt die Zähler von Paketen dar, die über Border Routing weitergeleitet werden.

otIp6Address

struct otIp6Address otIp6Address

Stellt eine IPv6-Adresse dar.

otIp6AddressCallback

void(* otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext)

Pointer wird aufgerufen, wenn eine interne IPv6-Adresse hinzugefügt oder entfernt wird.

Details
Parameter
[in] aAddressInfo
Ein Zeiger auf die IPv6-Adressinformationen.
[in] aIsAdded
TRUE, wenn aAddress hinzugefügt wurde, FALSE, wenn aAddress entfernt wurde.
[in] aContext
Ein Zeiger auf einen anwendungsspezifischen Kontext.

otIp6AddressComponents

struct otIp6AddressComponents otIp6AddressComponents

Stellt die Komponenten einer IPv6-Adresse dar.

otIp6AddressInfo

struct otIp6AddressInfo otIp6AddressInfo

Stellt IPv6-Adressinformationen dar.

otIp6InterfaceIdentifier

struct otIp6InterfaceIdentifier otIp6InterfaceIdentifier

Stellt die Schnittstellen-ID einer IPv6-Adresse dar.

otIp6NetworkPrefix

struct otIp6NetworkPrefix otIp6NetworkPrefix

Stellt das Netzwerkpräfix einer IPv6-Adresse dar (die wichtigsten 64 Bit der Adresse).

otIp6Prefix

struct otIp6Prefix otIp6Prefix

Stellt ein IPv6-Präfix dar.

otIp6ReceiveCallback

void(* otIp6ReceiveCallback)(otMessage *aMessage, void *aContext)

Pointer wird aufgerufen, wenn ein IPv6-Datagramm empfangen wird.

Details
Parameter
[in] aMessage
Ein Zeiger auf den Nachrichtenpuffer, der das empfangene IPv6-Datagramm enthält. Diese Funktion überträgt die Inhaberschaft von aMessage auf den Empfänger des Callbacks. Die Nachricht sollte nach der Verarbeitung vom Empfänger des Callbacks freigegeben werden (siehe otMessageFree()).
[in] aContext
Ein Zeiger auf einen anwendungsspezifischen Kontext.

otIp6RegisterMulticastListenersCallback

void(* otIp6RegisterMulticastListenersCallback)(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum)

Pointer wird mit den Ergebnissen otIp6RegisterMulticastListeners aufgerufen.

Details
Parameter
[in] aContext
Ein Zeiger auf den Nutzerkontext.
[in] aError
OT_ERROR_NONE wenn MLR.req erfolgreich gesendet und MLR.rsp erfolgreich gesendet wurde, OT_ERROR_ANSWER_TIMEOUT, wenn MLR.rsp nicht empfangen werden konnte, OT_ERROR_PARSE, wenn MLR.rsp nicht geparst werden konnte.
[in] aMlrStatus
Der Registrierungsstatus des Multicast-Listeners, wenn aError OT_ERROR_NONE ist.
[in] aFailedAddresses
Ein Zeiger auf die fehlgeschlagenen IPv6-Adressen, wenn aError OT_ERROR_NONE ist.
[in] aFailedAddressNum
Die Anzahl der fehlgeschlagenen IPv6-Adressen, wenn aError OT_ERROR_NONE ist.
Weitere Informationen:
otIp6RegisterMulticastListeners

otIp6SlaacPrefixFilter

bool(* otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix *aPrefix)

Zeiger ermöglicht dem Nutzer, Präfixe zu filtern, und lässt nicht zu, dass eine SLAAC-Adresse basierend auf einem Präfix hinzugefügt wird.

Mit otIp6SetSlaacPrefixFilter() kann der Filter-Handler festgelegt werden. Der Filter-Handler wird vom SLAAC-Modul aufgerufen, wenn eine SLAAC-Adresse anhand eines Präfixes hinzugefügt werden soll. Der boolesche Rückgabewert bestimmt, ob die Adresse gefiltert (nicht hinzugefügt) wird oder nicht.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aPrefix
Ein Zeiger auf das Präfix, für das die SLAAC-Adresse hinzugefügt wird.
Rückgabewerte
TRUE
Gibt an, dass die auf dem Präfix basierende SLAAC-Adresse gefiltert und NICHT hinzugefügt werden soll.
FALSE
Gibt an, dass die auf dem Präfix basierende SLAAC-Adresse hinzugefügt werden soll.

otMessageInfo

struct otMessageInfo otMessageInfo

Stellt die lokalen und Peer-IPv6-Socket-Adressen dar.

otNetifAddress

struct otNetifAddress otNetifAddress

Stellt eine Unicast-Adresse einer IPv6-Netzwerkschnittstelle dar.

otNetifMulticastAddress

struct otNetifMulticastAddress otNetifMulticastAddress

Stellt eine Multicast-Adresse einer IPv6-Netzwerkschnittstelle dar.

otPacketsAndBytes

struct otPacketsAndBytes otPacketsAndBytes

Stellt die Zähler für Pakete und Byte dar.

otSockAddr

struct otSockAddr otSockAddr

Stellt eine IPv6-Socket-Adresse dar.

Variablen

OT_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otIp6InterfaceIdentifier OT_TOOL_PACKED_END

Funktionen

otIp6AddUnicastAddress

otError otIp6AddUnicastAddress(
  otInstance *aInstance,
  const otNetifAddress *aAddress
)

Fügt der Thread-Schnittstelle eine Adresse der Netzwerkschnittstelle hinzu.

Die übergebene Instanz aAddress wird von der Thread-Schnittstelle kopiert. Die Thread-Schnittstelle unterstützt nur eine feste Anzahl von extern hinzugefügten Unicast-Adressen. OPENTHREAD_CONFIG_IP6_MAX_EXT_UCAST_ADDRS ansehen.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aAddress
Ein Zeiger auf die Adresse einer Netzwerkschnittstelle.
Rückgabewerte
OT_ERROR_NONE
Adresse der Netzwerkschnittstelle wurde hinzugefügt (oder aktualisiert).
OT_ERROR_INVALID_ARGS
Die durch aAddress angegebene IP-Adresse ist eine interne Adresse.
OT_ERROR_NO_BUFS
Auf der Netzwerkschnittstelle speichert bereits die maximal zulässige Anzahl externer Adressen.

otIp6AddUnsecurePort

otError otIp6AddUnsecurePort(
  otInstance *aInstance,
  uint16_t aPort
)

Fügt der Liste der zulässigen ungesicherten Ports einen Port hinzu.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aPort
Der Portwert.
Rückgabewerte
OT_ERROR_NONE
Der Port wurde der Liste der zulässigen unsicheren Ports hinzugefügt.
OT_ERROR_INVALID_ARGS
Der Port ist ungültig (Wert 0 ist für die interne Verwendung reserviert).
OT_ERROR_NO_BUFS
Die Liste der unsicheren Ports ist voll.

otIp6AddressFromString

otError otIp6AddressFromString(
  const char *aString,
  otIp6Address *aAddress
)

Wandelt einen menschenlesbaren IPv6-Adressstring in eine binäre Darstellung um.

Details
Parameter
[in] aString
Ein Zeiger auf einen NULL-terminierten String.
[out] aAddress
Ein Zeiger auf eine IPv6-Adresse.
Rückgabewerte
OT_ERROR_NONE
aString wurde geparst und aAddress aktualisiert.
OT_ERROR_PARSE
aString konnte nicht als IPv6-Adresse geparst werden.

otIp6AddressToString

void otIp6AddressToString(
  const otIp6Address *aAddress,
  char *aBuffer,
  uint16_t aSize
)

Wandelt eine bestimmte IPv6-Adresse in einen menschenlesbaren String um.

Der IPv6-Adressstring ist als 16 Hexadezimalwerte formatiert, die durch „:“ getrennt sind (d.h. "%x:%x:%x:...:%x").

Wenn der resultierende String nicht in aBuffer (innerhalb seiner aSize-Zeichen) passt, wird der String abgeschnitten, aber der ausgegebene String wird immer mit Null beendet.

Details
Parameter
[in] aAddress
Ein Zeiger auf eine IPv6-Adresse (DARF NICHT NULL sein).
[out] aBuffer
Ein Zeiger auf ein char-Array, um den String auszugeben (DARF NICHT NULL sein).
[in] aSize
Die Größe von aBuffer (in Byte). Die Verwendung von OT_IP6_ADDRESS_STRING_SIZE wird empfohlen.

otIp6ArePrefixesEqual

bool otIp6ArePrefixesEqual(
  const otIp6Prefix *aFirst,
  const otIp6Prefix *aSecond
)

Testen Sie, ob zwei IPv6-Präfixe identisch sind.

Details
Parameter
[in] aFirst
Ein Zeiger auf das erste IPv6-Präfix, das verglichen werden soll.
[in] aSecond
Ein Zeiger auf das zweite IPv6-Präfix, das verglichen werden soll.
Rückgabewerte
TRUE
Die beiden IPv6-Präfixe sind identisch.
FALSE
Die beiden IPv6-Präfixe sind nicht identisch.

otIp6GetBorderRoutingCounters

const otBorderRoutingCounters * otIp6GetBorderRoutingCounters(
  otInstance *aInstance
)

Ruft die Border-Routing-Zähler ab.

Das OPENTHREAD_CONFIG_IP6_BR_COUNTERS_ENABLE-Feature für die Build-Erstellung muss aktiviert sein.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
Rückgabe
Ein Zeiger auf die Border-Routing-Zähler.

otIp6GetMulticastAddresses

const otNetifMulticastAddress * otIp6GetMulticastAddresses(
  otInstance *aInstance
)

Ruft die Liste der IPv6-Multicast-Adressen ab, die die Thread-Schnittstelle abonniert haben.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
Rückgabe
Ein Zeiger auf die erste Multicast-Adresse der Netzwerkschnittstelle.

otIp6GetPrefix

void otIp6GetPrefix(
  const otIp6Address *aAddress,
  uint8_t aLength,
  otIp6Prefix *aPrefix
)

Ruft ein Präfix mit aLength aus aAddress ab.

Details
Parameter
[in] aAddress
Ein Zeiger auf eine IPv6-Adresse.
[in] aLength
Die Länge des Präfixes in Bit.
[out] aPrefix
Ein Zeiger zur Ausgabe des IPv6-Präfixes.

otIp6GetUnicastAddresses

const otNetifAddress * otIp6GetUnicastAddresses(
  otInstance *aInstance
)

Ruft die Liste der IPv6-Adressen ab, die der Thread-Schnittstelle zugewiesen sind.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
Rückgabe
Ein Zeiger auf die erste Adresse der Netzwerkschnittstelle.

otIp6GetUnsecurePorts

const uint16_t * otIp6GetUnsecurePorts(
  otInstance *aInstance,
  uint8_t *aNumEntries
)

Gibt einen Zeiger auf die Liste der unsicheren Ports zurück.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[out] aNumEntries
Die Anzahl der Einträge in der Liste.
Rückgabe
Ein Zeiger auf die Liste der unsicheren Ports.

otIp6HasUnicastAddress

bool otIp6HasUnicastAddress(
  otInstance *aInstance,
  const otIp6Address *aAddress
)

Gibt an, ob der Thread-Schnittstelle eine Unicast-IPv6-Adresse zugewiesen ist.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aAddress
Ein Zeiger auf die Unicast-Adresse.
Rückgabewerte
TRUE
Wenn aAddress der Thread-Schnittstelle zugewiesen ist.
FALSE
Wenn aAddress der Thread-Schnittstelle nicht zugewiesen ist.

otIp6IsAddressEqual

bool otIp6IsAddressEqual(
  const otIp6Address *aFirst,
  const otIp6Address *aSecond
)

Testen Sie, ob zwei IPv6-Adressen identisch sind.

Details
Parameter
[in] aFirst
Ein Zeiger auf die erste IPv6-Adresse, die verglichen werden soll.
[in] aSecond
Ein Zeiger auf die zweite IPv6-Adresse, die verglichen werden soll.
Rückgabewerte
TRUE
Die beiden IPv6-Adressen sind identisch.
FALSE
Die beiden IPv6-Adressen sind nicht identisch.

otIp6IsAddressUnspecified

bool otIp6IsAddressUnspecified(
  const otIp6Address *aAddress
)

Gibt an, ob eine bestimmte IPv6-Adresse die nicht angegebene Adresse ist.

Details
Parameter
[in] aAddress
Ein Zeiger auf eine IPv6-Adresse.
Rückgabewerte
TRUE
Wenn die IPv6-Adresse die nicht angegebene Adresse ist.
FALSE
Wenn die IPv6-Adresse nicht die nicht angegebene Adresse ist.

otIp6IsEnabled

bool otIp6IsEnabled(
  otInstance *aInstance
)

Gibt an, ob die IPv6-Schnittstelle aktiv ist.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
Rückgabewerte
TRUE
Die IPv6-Schnittstelle ist aktiviert.
FALSE
Die IPv6-Schnittstelle ist deaktiviert.

otIp6IsMulticastPromiscuousEnabled

bool otIp6IsMulticastPromiscuousEnabled(
  otInstance *aInstance
)

Überprüft, ob der promiskuitive Multicast-Modus auf der Thread-Schnittstelle aktiviert ist.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
Weitere Informationen:
otIp6SetMulticastPromiscuousEnabled

otIp6IsReceiveFilterEnabled

bool otIp6IsReceiveFilterEnabled(
  otInstance *aInstance
)

Gibt an, ob Traffic von Thread-Steuerungen herausgefiltert wird, wenn IPv6-Datagramme über den in otIp6SetReceiveCallback() angegebenen Callback gesendet werden.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
Rückgabe
TRUE, wenn Thread-Steuerungstraffic herausgefiltert wird, andernfalls FALSE.
Weitere Informationen:
otIp6SetReceiveCallback
otIp6SetReceiveFilterEnabled

otIp6IsSlaacEnabled

bool otIp6IsSlaacEnabled(
  otInstance *aInstance
)

Gibt an, ob das SLAAC-Modul aktiviert ist oder nicht.

Das OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE-Feature für die Build-Erstellung muss aktiviert sein.

Details
Rückgabewerte
TRUE
SLAAC-Modul ist aktiviert.
FALSE
Das SLAAC-Modul ist deaktiviert.

otIp6NewMessage

otMessage * otIp6NewMessage(
  otInstance *aInstance,
  const otMessageSettings *aSettings
)

Weisen Sie einen neuen Nachrichtenpuffer zum Senden einer IPv6-Nachricht zu.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aSettings
Ein Zeiger auf die Nachrichteneinstellungen oder NULL zum Festlegen der Standardeinstellungen.
Rückgabe
Ein Zeiger auf den Nachrichtenpuffer oder NULL, wenn keine Nachrichtenpuffer verfügbar sind oder Parameter ungültig sind.
Weitere Informationen:
otMessageFree

otIp6NewMessageFromBuffer

otMessage * otIp6NewMessageFromBuffer(
  otInstance *aInstance,
  const uint8_t *aData,
  uint16_t aDataLength,
  const otMessageSettings *aSettings
)

Weisen Sie einen neuen Nachrichtenpuffer zu und schreiben Sie das IPv6-Datagramm in den Nachrichtenpuffer, um eine IPv6-Nachricht zu senden.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aData
Ein Zeiger auf den IPv6-Datagramm-Zwischenspeicher.
[in] aDataLength
Die Größe des IPv6-Datagramm-Zwischenspeichers, auf den aData zeigt.
[in] aSettings
Ein Zeiger auf die Nachrichteneinstellungen oder NULL zum Festlegen der Standardeinstellungen.
Rückgabe
Ein Zeiger auf die Nachricht oder NULL, wenn ein falscher IPv6-Header oder nicht genügend Nachrichtenpuffer verfügbar sind.
Weitere Informationen:
otMessageFree

otIp6PrefixFromString

otError otIp6PrefixFromString(
  const char *aString,
  otIp6Prefix *aPrefix
)

Wandelt einen menschenlesbaren IPv6-Präfixstring in eine binäre Darstellung um.

Der aString-Parameter muss ein String im Format "

/", wobei
ist eine IPv6-Adresse und ist eine Präfixlänge.

Details
Parameter
[in] aString
Ein Zeiger auf einen NULL-terminierten String.
[out] aPrefix
Ein Zeiger auf ein IPv6-Präfix.
Rückgabewerte
OT_ERROR_NONE
Der String wurde als IPv6-Präfix geparst und aPrefix aktualisiert.
OT_ERROR_PARSE
aString konnte nicht als IPv6-Präfix geparst werden.

otIp6PrefixMatch

uint8_t otIp6PrefixMatch(
  const otIp6Address *aFirst,
  const otIp6Address *aSecond
)

Gibt die Präfixübereinstimmungslänge (Bits) für zwei IPv6-Adressen zurück.

Details
Parameter
[in] aFirst
Ein Zeiger auf die erste IPv6-Adresse.
[in] aSecond
Ein Zeiger auf die zweite IPv6-Adresse.
Rückgabe
Die Länge der Präfixübereinstimmung in Bit.

otIp6PrefixToString

void otIp6PrefixToString(
  const otIp6Prefix *aPrefix,
  char *aBuffer,
  uint16_t aSize
)

Wandelt ein bestimmtes IPv6-Präfix in einen menschenlesbaren String um.

Der IPv6-Adressstring hat das Format „%x:%x:%x:...[::]/plen“.

Wenn der resultierende String nicht in aBuffer (innerhalb seiner aSize-Zeichen) passt, wird der String abgeschnitten, aber der ausgegebene String wird immer mit Null beendet.

Details
Parameter
[in] aPrefix
Ein Zeiger auf ein IPv6-Präfix (DARF NICHT NULL sein).
[out] aBuffer
Ein Zeiger auf ein char-Array, um den String auszugeben (DARF NICHT NULL sein).
[in] aSize
Die Größe von aBuffer (in Byte). Die Verwendung von OT_IP6_PREFIX_STRING_SIZE wird empfohlen.

otIp6ProtoToString

const char * otIp6ProtoToString(
  uint8_t aIpProto
)

Wandelt eine bestimmte IP-Protokollnummer in einen menschenlesbaren String um.

Details
Parameter
[in] aIpProto
Eine IP-Protokollnummer (OT_IP6_PROTO_*-Aufzählung).
Rückgabe
Ein String, der aIpProto darstellt.

otIp6RegisterMulticastListeners

otError otIp6RegisterMulticastListeners(
  otInstance *aInstance,
  const otIp6Address *aAddresses,
  uint8_t aAddressNum,
  const uint32_t *aTimeout,
  otIp6RegisterMulticastListenersCallback aCallback,
  void *aContext
)

Registriert Multicast-Listener beim primären Backbone-Router.

OPENTHREAD_CONFIG_TMF_PROXY_MLR_ENABLE und OPENTHREAD_CONFIG_COMMISSIONER_ENABLE müssen aktiviert sein.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aAddresses
Ein zu registrierendes Multicast-Adressarray.
[in] aAddressNum
Die Anzahl der zu registrierenden Multicast-Adressen (0, wenn aAddresses NULL ist).
[in] aTimeout
Ein Zeiger auf den Zeitüberschreitungswert (in Sekunden), der in MLR.req eingefügt werden soll. Bei einem Zeitüberschreitungswert von 0 wird der entsprechende Multicast-Listener entfernt. Bei NULL hätte MLR.req standardmäßig kein Zeitlimit Tlv.
[in] aCallback
Ein Zeiger auf die Callback-Funktion.
[in] aContext
Ein Zeiger auf den Nutzerkontext.
Rückgabewerte
OT_ERROR_NONE
MLR.req. aCallback wird aufgerufen, wenn diese Methode OT_ERROR_NONE zurückgibt.
OT_ERROR_BUSY
Ob bereits eine vorherige Registrierung aktiv war.
OT_ERROR_INVALID_ARGS
Wenn ein oder mehrere Argumente ungültig sind.
OT_ERROR_INVALID_STATE
Das Gerät hatte keinen gültigen Status zum Senden von MLR.req (z.B. „Beauftragter nicht gestartet“, „Primärer Backbone-Router nicht gefunden“).
OT_ERROR_NO_BUFS
Wenn nicht genügend Nachrichtenpuffer verfügbar sind.
Weitere Informationen:
otIp6RegisterMulticastListenersCallback

otIp6RemoveAllUnsecurePorts

void otIp6RemoveAllUnsecurePorts(
  otInstance *aInstance
)

Entfernt alle Ports aus der Liste der zulässigen unsicheren Ports.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.

otIp6RemoveUnicastAddress

otError otIp6RemoveUnicastAddress(
  otInstance *aInstance,
  const otIp6Address *aAddress
)

Entfernt die Adresse einer Netzwerkschnittstelle aus der Thread-Schnittstelle.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aAddress
Ein Zeiger auf eine IP-Adresse.
Rückgabewerte
OT_ERROR_NONE
Die Adresse der Netzwerkschnittstelle wurde entfernt.
OT_ERROR_INVALID_ARGS
Die durch aAddress angegebene IP-Adresse ist eine interne Adresse.
OT_ERROR_NOT_FOUND
Die von aAddress angegebene IP-Adresse wurde nicht gefunden.

otIp6RemoveUnsecurePort

otError otIp6RemoveUnsecurePort(
  otInstance *aInstance,
  uint16_t aPort
)

Entfernt einen Port aus der Liste der zulässigen unsicheren Ports.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aPort
Der Portwert.
Rückgabewerte
OT_ERROR_NONE
Der Port wurde aus der Liste der zulässigen unsicheren Ports entfernt.
OT_ERROR_INVALID_ARGS
Der Port ist ungültig (Wert 0 ist für die interne Verwendung reserviert).
OT_ERROR_NOT_FOUND
Der Port wurde in der Liste der unsicheren Ports nicht gefunden.

otIp6ResetBorderRoutingCounters

void otIp6ResetBorderRoutingCounters(
  otInstance *aInstance
)

Setzt die Border-Routing-Zähler zurück.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.

otIp6SelectSourceAddress

otError otIp6SelectSourceAddress(
  otInstance *aInstance,
  otMessageInfo *aMessageInfo
)

Führt eine OpenThread-Quelladressauswahl durch.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in,out] aMessageInfo
Ein Zeiger auf die Nachrichteninformationen.
Rückgabewerte
OT_ERROR_NONE
Es wurde eine Quelladresse gefunden und in mSockAddr von aMessageInfo eingetragen.
OT_ERROR_NOT_FOUND
Es wurde keine Quelladresse gefunden und aMessageInfo ist unverändert.

otIp6Send

otError otIp6Send(
  otInstance *aInstance,
  otMessage *aMessage
)

Sendet ein IPv6-Datagramm über die Thread-Schnittstelle.

Der Anrufer überträgt bei diesem Anruf die Inhaberschaft von aMessage. OpenThread gibt aMessage kostenlos, wenn die Verarbeitung abgeschlossen ist, auch wenn ein anderer Wert als OT_ERROR_NONE zurückgegeben wird.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aMessage
Ein Zeiger auf den Nachrichtenpuffer, der das IPv6-Datagramm enthält.
Rückgabewerte
OT_ERROR_NONE
Die Nachricht wurde verarbeitet.
OT_ERROR_DROP
Die Nachricht war korrekt formatiert, wurde aber aufgrund von Paketverarbeitungsregeln nicht vollständig verarbeitet.
OT_ERROR_NO_BUFS
Die erforderlichen Nachrichtenpuffer konnten beim Verarbeiten des Datagramms nicht zugeordnet werden.
OT_ERROR_NO_ROUTE
Keine Route zum Host
OT_ERROR_INVALID_SOURCE_ADDRESS
Die Quelladresse ist ungültig, z.B. eine Anycast- oder eine Multicast-Adresse.
OT_ERROR_PARSE
Beim Verarbeiten der Nachricht ist ein falsch formatierter Header aufgetreten.
OT_ERROR_INVALID_ARGS
Die Metadaten der Nachricht sind ungültig, d.h., die Nachricht verwendet OT_MESSAGE_ORIGIN_THREAD_NETIF als Ursprung.

otIp6SetAddressCallback

void otIp6SetAddressCallback(
  otInstance *aInstance,
  otIp6AddressCallback aCallback,
  void *aCallbackContext
)

Registriert einen Callback, um interne IPv6-Adressänderungen zu benachrichtigen.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aCallback
Ein Zeiger auf eine Funktion, die aufgerufen wird, wenn eine interne IPv6-Adresse hinzugefügt oder entfernt wird. NULL zurück, um den Callback zu deaktivieren.
[in] aCallbackContext
Ein Zeiger auf einen anwendungsspezifischen Kontext.

otIp6SetEnabled

otError otIp6SetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Bringt die IPv6-Schnittstelle nach oben oder unten.

Rufen Sie diese Option auf, um die IPv6-Kommunikation zu aktivieren oder zu deaktivieren.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aEnabled
TRUE, um IPv6 zu aktivieren, andernfalls FALSE.
Rückgabewerte
OT_ERROR_NONE
IPv6-Schnittstelle wurde erfolgreich eingerichtet/abgeschaltet.
OT_ERROR_INVALID_STATE
Die IPv6-Schnittstelle ist nicht verfügbar, da das Gerät im Rohlink-Modus betrieben wird (nur verfügbar, wenn die OPENTHREAD_CONFIG_LINK_RAW_ENABLE-Funktion aktiviert ist).

otIp6SetMeshLocalIid

otError otIp6SetMeshLocalIid(
  otInstance *aInstance,
  const otIp6InterfaceIdentifier *aIid
)

Legt die lokale Mesh-IID (zu Testzwecken) fest.

Erfordert OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aIid
Ein Zeiger auf die festzulegende Mesh-Local-IID.
Rückgabewerte
OT_ERROR_NONE
Die lokale Mesh-IID wurde festgelegt.
OT_ERROR_INVALID_STATE
Thread-Protokolle sind aktiviert.

otIp6SetMulticastPromiscuousEnabled

void otIp6SetMulticastPromiscuousEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Aktiviert oder deaktiviert den promiskuitiven Multicast-Modus auf der Thread-Oberfläche.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aEnabled
TRUE, um den promiskuitiven Multicast-Modus zu aktivieren, andernfalls FALSE.
Weitere Informationen:
otIp6IsMulticastPromiscuousEnabled

otIp6SetReceiveCallback

void otIp6SetReceiveCallback(
  otInstance *aInstance,
  otIp6ReceiveCallback aCallback,
  void *aCallbackContext
)

Registriert einen Callback, um empfangene IPv6-Datagramme bereitzustellen.

Standardmäßig gibt dieser Callback keinen Thread-Steuertraffic weiter. Informationen zum Ändern der Traffic-Filtereinstellung für die Threadsteuerung finden Sie unter otIp6SetReceiveFilterEnabled().

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aCallback
Ein Zeiger auf eine Funktion, die beim Empfang eines IPv6-Datagramms aufgerufen wird, oder auf NULL, um den Callback zu deaktivieren.
[in] aCallbackContext
Ein Zeiger auf einen anwendungsspezifischen Kontext.
Weitere Informationen:
otIp6IsReceiveFilterEnabled
otIp6SetReceiveFilterEnabled

otIp6SetReceiveFilterEnabled

void otIp6SetReceiveFilterEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Legt fest, ob Traffic von Thread-Steuerung herausgefiltert wird, wenn IPv6-Datagramme über den in otIp6SetReceiveCallback() angegebenen Callback gesendet werden.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aEnabled
TRUE, wenn Thread-Steuerungstraffic herausgefiltert wird, andernfalls FALSE.
Siehe auch:
otIp6SetReceiveCallback
otIsReceiveIp6FilterEnabled

otIp6SetSlaacEnabled

void otIp6SetSlaacEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Aktiviert/deaktiviert das SLAAC-Modul.

Das OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE-Feature für die Build-Erstellung muss aktiviert sein.

Wenn das SLAAC-Modul aktiviert ist, werden SLAAC-Adressen (basierend auf On-Mesh-Präfixen in Netzwerkdaten) der Schnittstelle hinzugefügt. Wenn das SLAAC-Modul deaktiviert ist, werden alle zuvor hinzugefügten SLAAC-Adressen entfernt.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aEnabled
TRUE zum Aktivieren, FALSE zum Deaktivieren.

otIp6SetSlaacPrefixFilter

void otIp6SetSlaacPrefixFilter(
  otInstance *aInstance,
  otIp6SlaacPrefixFilter aFilter
)

Legt den SLAAC-Modulfilter-Handler fest.

Das OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE-Feature für die Build-Erstellung muss aktiviert sein.

Der Filter-Handler wird vom SLAAC-Modul aufgerufen, wenn eine SLAAC-Adresse basierend auf einem Präfix hinzugefügt werden soll, um zu entscheiden, ob die Adresse hinzugefügt werden soll oder nicht.

Ein NULL-Filter-Handler deaktiviert die Filterung und ermöglicht das Hinzufügen aller SLAAC-Adressen.

Wird diese Funktion nicht aufgerufen, ist der vom SLAAC-Modul verwendete Standardfilter NULL (Filterung ist deaktiviert).

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aFilter
Ein Verweis auf den SLAAC-Präfixfilter-Handler oder NULL zum Deaktivieren der Filterung.

otIp6SockAddrToString

void otIp6SockAddrToString(
  const otSockAddr *aSockAddr,
  char *aBuffer,
  uint16_t aSize
)

Wandelt eine bestimmte IPv6-Socket-Adresse in einen menschenlesbaren String um.

Der String der IPv6-Socket-Adresse hat das Format [address]:port, wobei address als 16 Hexadezimalwerte angezeigt wird, getrennt durch :, und port ist die Portnummer im Dezimalformat, z. B. „[%x:%x:...:%x]:%u“.

Wenn der resultierende String nicht in aBuffer (innerhalb seiner aSize-Zeichen) passt, wird der String abgeschnitten, aber der ausgegebene String wird immer mit Null beendet.

Details
Parameter
[in] aSockAddr
Ein Zeiger auf eine IPv6-Socket-Adresse (DARF NICHT NULL sein).
[out] aBuffer
Ein Zeiger auf ein char-Array, um den String auszugeben (DARF NICHT NULL sein).
[in] aSize
Die Größe von aBuffer (in Byte). Die Verwendung von OT_IP6_SOCK_ADDR_STRING_SIZE wird empfohlen.

otIp6SubscribeMulticastAddress

otError otIp6SubscribeMulticastAddress(
  otInstance *aInstance,
  const otIp6Address *aAddress
)

Abonnieren der Thread-Schnittstelle eine Multicast-Adresse der Netzwerkschnittstelle.

Die in der Instanz übergebenen aAddress werden von der Thread-Schnittstelle kopiert. Die Thread-Schnittstelle unterstützt nur eine feste Anzahl von extern hinzugefügten Multicast-Adressen. OPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRS ansehen.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aAddress
Ein Zeiger auf eine IP-Adresse.
Rückgabewerte
OT_ERROR_NONE
Multicast-Adresse der Netzwerkschnittstelle abonniert.
OT_ERROR_ALREADY
Die Multicast-Adresse ist bereits abonniert.
OT_ERROR_INVALID_ARGS
Die in aAddress angegebene IP-Adresse ist eine ungültige Multicast-Adresse.
OT_ERROR_REJECTED
Die durch aAddress angegebene IP-Adresse ist eine interne Multicast-Adresse.
OT_ERROR_NO_BUFS
Auf der Netzwerkschnittstelle speichert bereits die maximal zulässige Anzahl externer Multicast-Adressen.

otIp6UnsubscribeMulticastAddress

otError otIp6UnsubscribeMulticastAddress(
  otInstance *aInstance,
  const otIp6Address *aAddress
)

Meldet die Thread-Schnittstelle von einer Netzwerkschnittstellen-Multicast-Adresse ab.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aAddress
Ein Zeiger auf eine IP-Adresse.
Rückgabewerte
OT_ERROR_NONE
Multicast-Adresse der Netzwerkschnittstelle abbestellt.
OT_ERROR_REJECTED
Die durch aAddress angegebene IP-Adresse ist eine interne Adresse.
OT_ERROR_NOT_FOUND
Die von aAddress angegebene IP-Adresse wurde nicht gefunden.

Makros

OT_IP6_ADDRESS_SIZE

 OT_IP6_ADDRESS_SIZE 16

Größe einer IPv6-Adresse (Byte)

OT_IP6_ADDRESS_STRING_SIZE

 OT_IP6_ADDRESS_STRING_SIZE 40

Empfohlene Größe für die Stringdarstellung einer IPv6-Adresse.

OT_IP6_HEADER_PROTO_OFFSET

 OT_IP6_HEADER_PROTO_OFFSET 6

Offset des Proto-Felds im IPv6-Header (Byte)

OT_IP6_HEADER_SIZE

 OT_IP6_HEADER_SIZE 40

Größe eines IPv6-Headers (Byte)

OT_IP6_IID_SIZE

 OT_IP6_IID_SIZE 8

Größe einer IPv6-Schnittstellenkennung (Byte)

OT_IP6_MAX_MLR_ADDRESSES

 OT_IP6_MAX_MLR_ADDRESSES 15

Maximale Anzahl von IPv6-Adressen, die von der Multicast-Listener-Registrierung unterstützt werden.

OT_IP6_PREFIX_BITSIZE

 OT_IP6_PREFIX_BITSIZE (OT_IP6_PREFIX_SIZE * 8)

Größe eines IPv6-Präfixes (Bits)

OT_IP6_PREFIX_SIZE

 OT_IP6_PREFIX_SIZE 8

Größe eines IPv6-Präfixes (Byte)

OT_IP6_PREFIX_STRING_SIZE

 OT_IP6_PREFIX_STRING_SIZE 45

Empfohlene Größe für die Stringdarstellung eines IPv6-Präfixes.

OT_IP6_SOCK_ADDR_STRING_SIZE

 OT_IP6_SOCK_ADDR_STRING_SIZE 48

Empfohlene Größe für die Stringdarstellung einer IPv6-Socket-Adresse.

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.