IPv6
Dieses Modul enthält Funktionen, die die IPv6-Kommunikation steuern.
Zusammenfassung
Aufzählungen |
|
---|---|
anonymous enum{
|
enum IPv6-Quellen. |
anonymous enum{
|
enum ECN-Status im IP-Header |
anonymous enum{
|
enum Internet Protocol-Nummern |
Typdef. |
|
---|---|
otIp6Address
|
Typdefstruct otIp6Address
Diese Struktur stellt eine IPv6-Adresse dar. |
otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext)
|
Typdefvoid(*
Dieser Funktionszeiger wird aufgerufen, wenn eine interne IPv6-Adresse hinzugefügt oder entfernt wird. |
otIp6AddressComponents
|
Typdefstruct otIp6AddressComponents
Diese Struktur stellt die Komponenten einer IPv6-Adresse dar. |
otIp6AddressInfo
|
Typdefstruct otIp6AddressInfo
|
otIp6InterfaceIdentifier
|
Typdefstruct otIp6InterfaceIdentifier
Diese Struktur stellt die Schnittstellenkennung einer IPv6-Adresse dar. |
otIp6NetworkPrefix
|
Typdefstruct otIp6NetworkPrefix
Diese Struktur stellt das Netzwerkpräfix einer IPv6-Adresse dar (die wichtigsten 64 Bit der Adresse). |
otIp6Prefix
|
Typdefstruct otIp6Prefix
Diese Struktur entspricht einem IPv6-Präfix. |
otIp6ReceiveCallback)(otMessage *aMessage, void *aContext)
|
Typdefvoid(*
Dieser Funktionszeiger wird aufgerufen, wenn ein IPv6-Datagramm empfangen wird. |
otIp6RegisterMulticastListenersCallback)(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum)
|
Typdefvoid(*
Dieser Funktionszeiger wird mit Ergebnissen von otIp6RegisterMulticastListeners aufgerufen. |
otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix *aPrefix)
|
Typdefbool(*
Mit diesem Funktionszeiger kann der Nutzer Präfixe filtern und das Hinzufügen einer SLAAC-Adresse auf der Grundlage eines Präfixes nicht zulassen. |
otMessageInfo
|
Typdefstruct otMessageInfo
Diese Struktur stellt die lokalen IPv6-Socket-Adressen dar. |
otNetifAddress
|
Typdefstruct otNetifAddress
Diese Struktur stellt eine IPv6-Netzwerkschnittstelle dar. |
otNetifMulticastAddress
|
Typdefstruct otNetifMulticastAddress
Diese Struktur stellt eine IPv6-Netzwerkschnittstelle mit Multicast-Adresse dar. |
otSockAddr
|
Typdefstruct otSockAddr
Diese Struktur stellt eine IPv6-Socket-Adresse dar. |
Variablen |
|
---|---|
OT_TOOL_PACKED_END
|
Funktionen |
|
---|---|
otIp6AddUnicastAddress(otInstance *aInstance, const otNetifAddress *aAddress)
|
Fügen Sie der Thread-Schnittstelle eine Netzwerkschnittstelle hinzu.
|
otIp6AddUnsecurePort(otInstance *aInstance, uint16_t aPort)
|
Mit dieser Funktion wird ein Port der Liste der zulässigen nicht gesicherten Ports hinzugefügt.
|
otIp6AddressFromString(const char *aString, otIp6Address *aAddress)
|
Diese Funktion wandelt einen für Menschen lesbaren IPv6-Adressstring in eine Binärdarstellung um.
|
otIp6AddressToString(const otIp6Address *aAddress, char *aBuffer, uint16_t aSize)
|
void
Diese Funktion wandelt eine bestimmte IPv6-Adresse in einen für Menschen lesbaren String um.
|
otIp6ArePrefixesEqual(const otIp6Prefix *aFirst, const otIp6Prefix *aSecond)
|
bool
Testen Sie, ob zwei IPv6-Präfixe identisch sind.
|
otIp6GetMulticastAddresses(otInstance *aInstance)
|
const otNetifMulticastAddress *
Liste der IPv6-Multicast-Adressen abrufen, die von der Thread-Schnittstelle abonniert wurden.
|
otIp6GetUnicastAddresses(otInstance *aInstance)
|
const otNetifAddress *
Rufen Sie die Liste der IPv6-Adressen auf, die der Thread-Schnittstelle zugewiesen sind.
|
otIp6GetUnsecurePorts(otInstance *aInstance, uint8_t *aNumEntries)
|
const uint16_t *
Diese Funktion gibt einen Zeiger auf die Liste unsicherer Ports zurück.
|
otIp6IsAddressEqual(const otIp6Address *aFirst, const otIp6Address *aSecond)
|
bool
Testen Sie, ob zwei IPv6-Adressen identisch sind.
|
otIp6IsAddressUnspecified(const otIp6Address *aAddress)
|
bool
Diese Funktion gibt an, ob eine bestimmte IPv6-Adresse die nicht angegebene Adresse ist.
|
otIp6IsEnabled(otInstance *aInstance)
|
bool
Diese Funktion gibt an, ob die IPv6-Schnittstelle aktiv ist.
|
otIp6IsMulticastPromiscuousEnabled(otInstance *aInstance)
|
bool
Prüfen Sie, ob der promiskuitive Modus für Multicast auf der Thread-Schnittstelle aktiviert ist.
|
otIp6IsReceiveFilterEnabled(otInstance *aInstance)
|
bool
Diese Funktion gibt an, ob der Thread-Traffic herausgefiltert wird, wenn IPv6-Datagramme über den in otIp6SetReceiveCallback() angegebenen Callback bereitgestellt werden.
|
otIp6IsSlaacEnabled(otInstance *aInstance)
|
bool
Diese Funktion gibt an, ob das SLAAC-Modul aktiviert ist oder nicht.
|
otIp6NewMessage(otInstance *aInstance, const otMessageSettings *aSettings)
|
Ordnen Sie einen neuen Nachrichtenpuffer zu, um eine IPv6-Nachricht zu senden.
|
otIp6NewMessageFromBuffer(otInstance *aInstance, const uint8_t *aData, uint16_t aDataLength, const otMessageSettings *aSettings)
|
Ordnen Sie einen neuen Nachrichtenpuffer zu und schreiben Sie das IPv6-Datagramm in den Nachrichtenzwischenspeicher, um eine IPv6-Nachricht zu senden.
|
otIp6PrefixMatch(const otIp6Address *aFirst, const otIp6Address *aSecond)
|
uint8_t
Diese Funktion gibt die Präfixübereinstimmungslänge (Bits) für zwei IPv6-Adressen zurück.
|
otIp6PrefixToString(const otIp6Prefix *aPrefix, char *aBuffer, uint16_t aSize)
|
void
Diese Funktion wandelt ein angegebenes IPv6-Präfix in einen für Menschen lesbaren String um.
|
otIp6ProtoToString(uint8_t aIpProto)
|
const char *
Diese Funktion wandelt eine bestimmte IP-Protokollnummer in einen für Menschen lesbaren String um.
|
otIp6RegisterMulticastListeners(otInstance *aInstance, const otIp6Address *aAddresses, uint8_t aAddressNum, const uint32_t *aTimeout, otIp6RegisterMulticastListenersCallback aCallback, void *aContext)
|
Diese Funktion registriert Multicast-Listener für den primären Backbone-Router.
|
otIp6RemoveAllUnsecurePorts(otInstance *aInstance)
|
void
Mit dieser Funktion werden alle Ports aus der Liste der zulässigen unsicheren Ports entfernt.
|
otIp6RemoveUnicastAddress(otInstance *aInstance, const otIp6Address *aAddress)
|
Entfernen Sie eine Netzwerkschnittstelle aus der Thread-Schnittstelle.
|
otIp6RemoveUnsecurePort(otInstance *aInstance, uint16_t aPort)
|
Mit dieser Funktion wird ein Port aus der Liste der zulässigen unsicheren Ports entfernt.
|
otIp6SelectSourceAddress(otInstance *aInstance, otMessageInfo *aMessageInfo)
|
Diese Funktion führt die Auswahl der OpenThread-Quelladresse durch.
|
otIp6Send(otInstance *aInstance, otMessage *aMessage)
|
Diese Funktion sendet ein IPv6-Datagramm über die Thread-Schnittstelle.
|
otIp6SetAddressCallback(otInstance *aInstance, otIp6AddressCallback aCallback, void *aCallbackContext)
|
void
Diese Funktion registriert einen Callback, um interne IPv6-Adressen zu ändern.
|
otIp6SetEnabled(otInstance *aInstance, bool aEnabled)
|
Mit dieser Funktion wird die IPv6-Schnittstelle aufgerufen oder deaktiviert.
|
otIp6SetMeshLocalIid(otInstance *aInstance, const otIp6InterfaceIdentifier *aIid)
|
Mit dieser Funktion wird die lokale Mesh-ID des Mesh-Netzwerks festgelegt (für Testzwecke).
|
otIp6SetMulticastPromiscuousEnabled(otInstance *aInstance, bool aEnabled)
|
void
Promiskuitiven Modus im Multicast-Modus auf der Thread-Schnittstelle aktivieren.
|
otIp6SetReceiveCallback(otInstance *aInstance, otIp6ReceiveCallback aCallback, void *aCallbackContext)
|
void
Diese Funktion registriert einen Callback, um empfangene IPv6-Datagramme bereitzustellen.
|
otIp6SetReceiveFilterEnabled(otInstance *aInstance, bool aEnabled)
|
void
Mit dieser Funktion wird festgelegt, ob der Thread-Traffic herausgefiltert wird, wenn IPv6-Datagramme über den in otIp6SetReceiveCallback() angegebenen Callback bereitgestellt werden.
|
otIp6SetSlaacEnabled(otInstance *aInstance, bool aEnabled)
|
void
Mit dieser Funktion wird das SLAAC-Modul aktiviert/deaktiviert.
|
otIp6SetSlaacPrefixFilter(otInstance *aInstance, otIp6SlaacPrefixFilter aFilter)
|
void
Mit dieser Funktion wird der SLAAC-Modul-Handler festgelegt.
|
otIp6SockAddrToString(const otSockAddr *aSockAddr, char *aBuffer, uint16_t aSize)
|
void
Diese Funktion wandelt eine bestimmte IPv6-Socket-Adresse in einen für Menschen lesbaren String um.
|
otIp6SubscribeMulticastAddress(otInstance *aInstance, const otIp6Address *aAddress)
|
Threadschnittstelle über eine Netzwerk-Multicast-Adresse abonnieren.
|
otIp6UnsubscribeMulticastAddress(otInstance *aInstance, const otIp6Address *aAddress)
|
Beenden Sie die Thread-Schnittstelle von einer Multicast-Adresse für Netzwerkschnittstellen.
|
Strebenklemmen |
|
---|---|
otIp6Address |
Diese Struktur stellt eine IPv6-Adresse dar. |
otIp6AddressComponents |
Diese Struktur stellt die Komponenten einer IPv6-Adresse dar. |
otIp6AddressInfo |
Diese Struktur stellt IPv6-Adressinformationen dar. |
otIp6InterfaceIdentifier |
Diese Struktur stellt die Schnittstellenkennung einer IPv6-Adresse dar. |
otIp6NetworkPrefix |
Diese Struktur stellt das Netzwerkpräfix einer IPv6-Adresse dar (die wichtigsten 64 Bit der Adresse). |
otIp6Prefix |
Diese Struktur entspricht einem IPv6-Präfix. |
otMessageInfo |
Diese Struktur stellt die lokalen IPv6-Socket-Adressen dar. |
otNetifAddress |
Diese Struktur stellt eine IPv6-Netzwerkschnittstelle dar. |
otNetifMulticastAddress |
Diese Struktur stellt eine IPv6-Netzwerkschnittstelle mit Multicast-Adresse dar. |
otSockAddr |
Diese Struktur stellt eine IPv6-Socket-Adresse dar. |
Gewerkschaften |
|
---|---|
otIp6InterfaceIdentifier:: |
Aufzählungen
Anonyme Aufzählung
anonymous enum
IPv6-Quellen.
Attribute | |
---|---|
OT_ADDRESS_ORIGIN_DHCPV6
|
DHCPv6-zugewiesene Adresse. |
OT_ADDRESS_ORIGIN_MANUAL
|
Manuell zugewiesene Adresse. |
OT_ADDRESS_ORIGIN_SLAAC
|
Zugewiesene SLAAC-Adresse |
OT_ADDRESS_ORIGIN_THREAD
|
Thread zugewiesen (ALOC, RLOC, MLEID usw.) |
Anonyme Aufzählung
anonymous enum
ECN-Status im IP-Header
Attribute | |
---|---|
OT_ECN_CAPABLE_0
|
ECT(0) |
OT_ECN_CAPABLE_1
|
ECT(1) |
OT_ECN_MARKED
|
Staus festgestellt (CE) |
OT_ECN_NOT_CAPABLE
|
Nicht-ECT. |
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-By-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-Protokoll |
OT_IP6_PROTO_UDP
|
Nutzer-Datagramm |
Typdef.
otIp6AddressCallback
void(* otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext)
Dieser Funktionszeiger wird aufgerufen, wenn eine interne IPv6-Adresse hinzugefügt oder entfernt wird.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
otIp6AddressComponents
struct otIp6AddressComponents otIp6AddressComponents
Diese Struktur stellt die Komponenten einer IPv6-Adresse dar.
otIp6AddressInfo
struct otIp6AddressInfo otIp6AddressInfo
otIp6InterfaceIdentifier
struct otIp6InterfaceIdentifier otIp6InterfaceIdentifier
Diese Struktur stellt die Schnittstellenkennung einer IPv6-Adresse dar.
otIp6NetworkPrefix
struct otIp6NetworkPrefix otIp6NetworkPrefix
Diese Struktur stellt das Netzwerkpräfix einer IPv6-Adresse dar (die wichtigsten 64 Bit der Adresse).
otIp6ReceiveCallback
void(* otIp6ReceiveCallback)(otMessage *aMessage, void *aContext)
Dieser Funktionszeiger wird aufgerufen, wenn ein IPv6-Datagramm empfangen wird.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
otIp6RegisterMulticastListenersCallback
void(* otIp6RegisterMulticastListenersCallback)(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum)
Dieser Funktionszeiger wird mit Ergebnissen von otIp6RegisterMulticastListeners
aufgerufen.
Details | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
otIp6RegisterMulticastListeners
otIp6SlaacPrefixFilter
bool(* otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix *aPrefix)
Mit diesem Funktionszeiger kann der Nutzer Präfixe filtern und das Hinzufügen einer SLAAC-Adresse auf der Grundlage eines Präfixes nicht zulassen.
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 |
|
||||
Rückgabewerte |
|
OTMessageInfo
struct otMessageInfo otMessageInfo
Diese Struktur stellt die lokalen IPv6-Socket-Adressen dar.
OTNetifAddress
struct otNetifAddress otNetifAddress
Diese Struktur stellt eine IPv6-Netzwerkschnittstelle dar.
otNetifMulticastAddress:
struct otNetifMulticastAddress otNetifMulticastAddress
Diese Struktur stellt eine IPv6-Netzwerkschnittstelle mit Multicast-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ügen Sie der Thread-Schnittstelle eine 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. Siehe OPENHOUR_CONFIG_IP6_MAX_EXT_UCAST_ADDRS.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabewerte |
|
otIp6AddUnsecurePort
otError otIp6AddUnsecurePort( otInstance *aInstance, uint16_t aPort )
Mit dieser Funktion wird ein Port der Liste der zulässigen nicht gesicherten Ports hinzugefügt.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabewerte |
|
otIp6AddressFromString
otError otIp6AddressFromString( const char *aString, otIp6Address *aAddress )
Diese Funktion wandelt einen für Menschen lesbaren IPv6-Adressstring in eine Binärdarstellung um.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
otIp6AddressToString
void otIp6AddressToString( const otIp6Address *aAddress, char *aBuffer, uint16_t aSize )
Diese Funktion wandelt eine bestimmte IPv6-Adresse in einen für Menschen lesbaren String um.
Der IPv6-Adressstring ist als 16 Hexadezimalwerte formatiert, die durch ':' (d.h. "%x:%x:%x:...:%x").
Wenn der resultierende String nicht in aBuffer
passt (innerhalb seiner aSize
-Zeichen), wird er abgeschnitten, aber der ausgegebene String wird immer null beendet.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
otIp6ArePrefixesEqual
bool otIp6ArePrefixesEqual( const otIp6Prefix *aFirst, const otIp6Prefix *aSecond )
Testen Sie, ob zwei IPv6-Präfixe identisch sind.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
otIp6GetMulticastAddresses
const otNetifMulticastAddress * otIp6GetMulticastAddresses( otInstance *aInstance )
Liste der IPv6-Multicast-Adressen abrufen, die von der Thread-Schnittstelle abonniert wurden.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Ein Zeiger auf die erste Multicast-Adresse für Netzwerkschnittstelle.
|
otIp6GetUnicastAddresses
const otNetifAddress * otIp6GetUnicastAddresses( otInstance *aInstance )
Rufen Sie die Liste der IPv6-Adressen auf, die der Thread-Schnittstelle zugewiesen sind.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Ein Zeiger auf die erste Netzwerkschnittstelle.
|
otIp6GetUnsecurePorts
const uint16_t * otIp6GetUnsecurePorts( otInstance *aInstance, uint8_t *aNumEntries )
Diese Funktion gibt einen Zeiger auf die Liste unsicherer Ports zurück.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabe |
Ein Zeiger auf die Liste unsicherer Ports.
|
otIp6IsAddressEqual
bool otIp6IsAddressEqual( const otIp6Address *aFirst, const otIp6Address *aSecond )
Testen Sie, ob zwei IPv6-Adressen identisch sind.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
otIp6IsAddressOhne Angabe
bool otIp6IsAddressUnspecified( const otIp6Address *aAddress )
Diese Funktion gibt an, ob eine bestimmte IPv6-Adresse die nicht angegebene Adresse ist.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
otIp6IsEnabled
bool otIp6IsEnabled( otInstance *aInstance )
Diese Funktion gibt an, ob die IPv6-Schnittstelle aktiv ist.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
otIp6IsMulticastPromiscuousEnabled
bool otIp6IsMulticastPromiscuousEnabled( otInstance *aInstance )
Prüfen Sie, ob der promiskuitive Modus für Multicast auf der Thread-Schnittstelle aktiviert ist.
Details | |||
---|---|---|---|
Parameter |
|
otIp6SetMulticastPromiscuousEnabled
otIp6IsReceiveFilterEnabled
bool otIp6IsReceiveFilterEnabled( otInstance *aInstance )
Diese Funktion gibt an, ob der Thread-Traffic herausgefiltert wird, wenn IPv6-Datagramme über den in otIp6SetReceiveCallback() angegebenen Callback bereitgestellt werden.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
WAHR, wenn Thread-Traffic herausgefiltert wird, sonst FALSCH.
|
otIp6SetReceiveCallback
otIp6SetReceiveFilterEnabled
otIp6IsSlaacEnabled
bool otIp6IsSlaacEnabled( otInstance *aInstance )
Diese Funktion gibt an, ob das SLAAC-Modul aktiviert ist oder nicht.
Für diese Funktion muss die Build-Funktion OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE
aktiviert sein.
Details | |||||
---|---|---|---|---|---|
Rückgabewerte |
|
otIp6NewMessage
otMessage * otIp6NewMessage( otInstance *aInstance, const otMessageSettings *aSettings )
Ordnen Sie einen neuen Nachrichtenpuffer zu, um eine IPv6-Nachricht zu senden.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabe |
Ein Zeiger auf den Nachrichtenzwischenspeicher oder NULL, wenn keine Nachrichtenzwischenspeicher verfügbar sind oder Parameter ungültig sind.
|
otMessageFree
otIp6NewMessageFromBuffer
otMessage * otIp6NewMessageFromBuffer( otInstance *aInstance, const uint8_t *aData, uint16_t aDataLength, const otMessageSettings *aSettings )
Ordnen Sie einen neuen Nachrichtenpuffer zu und schreiben Sie das IPv6-Datagramm in den Nachrichtenzwischenspeicher, um eine IPv6-Nachricht zu senden.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Rückgabe |
Ein Zeiger auf die Nachricht oder NULL, wenn ein fehlerhafter IPv6-Header oder nicht ausreichende Nachrichtenzwischenspeicher vorhanden sind.
|
otMessageFree
otIp6PrefixMatch
uint8_t otIp6PrefixMatch( const otIp6Address *aFirst, const otIp6Address *aSecond )
Diese Funktion gibt die Präfixübereinstimmungslänge (Bits) für zwei IPv6-Adressen zurück.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabe |
Die Präfixlänge in Bit.
|
otIp6PrefixToString
void otIp6PrefixToString( const otIp6Prefix *aPrefix, char *aBuffer, uint16_t aSize )
Diese Funktion wandelt ein angegebenes IPv6-Präfix in einen für Menschen lesbaren String um.
Der IPv6-Adressenstring hat folgendes Format: "%x:%x:%x:...[::]/plen"
Wenn der resultierende String nicht in aBuffer
passt (innerhalb seiner aSize
-Zeichen), wird er abgeschnitten, aber der ausgegebene String wird immer null beendet.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
otIp6ProtoToString
const char * otIp6ProtoToString( uint8_t aIpProto )
Diese Funktion wandelt eine bestimmte IP-Protokollnummer in einen für Menschen lesbaren String um.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Ein String, der
aIpProto darstellt. |
otIp6RegisterMulticastListener
otError otIp6RegisterMulticastListeners( otInstance *aInstance, const otIp6Address *aAddresses, uint8_t aAddressNum, const uint32_t *aTimeout, otIp6RegisterMulticastListenersCallback aCallback, void *aContext )
Diese Funktion registriert Multicast-Listener für den primären Backbone-Router.
Hinweis: Nur verfügbar, wenn sowohl OPENTHREAD_CONFIG_TMF_PROXY_MLR_ENABLE
als auch OPENTHREAD_CONFIG_COMMISSIONER_ENABLE
aktiviert sind.
Details | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||
Rückgabewerte |
|
otIp6RegisterMulticastListenersCallback
otIp6RemoveAllUnsecurePorts
void otIp6RemoveAllUnsecurePorts( otInstance *aInstance )
Mit dieser Funktion werden alle Ports aus der Liste der zulässigen unsicheren Ports entfernt.
Details | |||
---|---|---|---|
Parameter |
|
otIp6RemoveUnicastAddress
otError otIp6RemoveUnicastAddress( otInstance *aInstance, const otIp6Address *aAddress )
Entfernen Sie eine Netzwerkschnittstelle aus der Thread-Schnittstelle.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabewerte |
|
otIp6RemoveUnsecurePort
otError otIp6RemoveUnsecurePort( otInstance *aInstance, uint16_t aPort )
Mit dieser Funktion wird ein Port aus der Liste der zulässigen unsicheren Ports entfernt.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabewerte |
|
otIp6SelectSourceAddress
otError otIp6SelectSourceAddress( otInstance *aInstance, otMessageInfo *aMessageInfo )
Diese Funktion führt die Auswahl der OpenThread-Quelladresse durch.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
OTIp6Senden
otError otIp6Send( otInstance *aInstance, otMessage *aMessage )
Diese Funktion sendet ein IPv6-Datagramm über die Thread-Schnittstelle.
Der Anrufer überträgt bei diesem Anruf die Eigentümerschaft an aMessage
. OpenThread gibt aMessage
kostenlos, wenn die Verarbeitung abgeschlossen ist, einschließlich der Rückgabe eines anderen Werts als OT_ERROR_NONE
.
Details | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||
Rückgabewerte |
|
otIp6SetAddressCallback
void otIp6SetAddressCallback( otInstance *aInstance, otIp6AddressCallback aCallback, void *aCallbackContext )
Diese Funktion registriert einen Callback, um interne IPv6-Adressen zu ändern.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
otIp6SetEnabled
otError otIp6SetEnabled( otInstance *aInstance, bool aEnabled )
Mit dieser Funktion wird die IPv6-Schnittstelle aufgerufen oder deaktiviert.
Rufen Sie diese Funktion auf, um die IPv6-Kommunikation zu aktivieren oder zu deaktivieren.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
otIp6SetMeshLocalIid
otError otIp6SetMeshLocalIid( otInstance *aInstance, const otIp6InterfaceIdentifier *aIid )
Mit dieser Funktion wird die lokale Mesh-ID des Mesh-Netzwerks festgelegt (für Testzwecke).
Nur verfügbar, wenn OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
aktiviert ist.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
otIp6SetMulticastPromiscuousEnabled
void otIp6SetMulticastPromiscuousEnabled( otInstance *aInstance, bool aEnabled )
Promiskuitiven Modus im Multicast-Modus auf der Thread-Schnittstelle aktivieren.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
otIp6IsMulticastPromiscuousEnabled
otIp6SetReceiveCallback
void otIp6SetReceiveCallback( otInstance *aInstance, otIp6ReceiveCallback aCallback, void *aCallbackContext )
Diese Funktion registriert einen Callback, um empfangene IPv6-Datagramme bereitzustellen.
Standardmäßig übergibt dieser Callback den Thread-Traffic nicht. Wie Sie die Traffic-Filtereinstellung für Thread-Steuerung ändern, erfahren Sie unter otIp6SetReceiveFilterEnabled().
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
otIp6IsReceiveFilterEnabled
otIp6SetReceiveFilterEnabled
otIp6SetReceiveFilterEnabled
void otIp6SetReceiveFilterEnabled( otInstance *aInstance, bool aEnabled )
Mit dieser Funktion wird festgelegt, ob der Thread-Traffic herausgefiltert wird, wenn IPv6-Datagramme über den in otIp6SetReceiveCallback() angegebenen Callback bereitgestellt werden.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
otIp6SetReceiveCallback
otIsReceiveIp6FilterEnabled
otIp6SetSlaacEnabled
void otIp6SetSlaacEnabled( otInstance *aInstance, bool aEnabled )
Mit dieser Funktion wird das SLAAC-Modul aktiviert/deaktiviert.
Für diese Funktion muss die Build-Funktion OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE
aktiviert sein.
Wenn das SLAAC-Modul aktiviert ist, werden SLAAC-Adressen (basierend auf 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 |
|
otIp6SetSlaacPrefixFilter
void otIp6SetSlaacPrefixFilter( otInstance *aInstance, otIp6SlaacPrefixFilter aFilter )
Mit dieser Funktion wird der SLAAC-Modul-Handler festgelegt.
Für diese Funktion muss die Build-Funktion OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE
aktiviert sein.
Der Filter-Handler wird vom SLAAC-Modul aufgerufen, wenn eine VAST-Adresse auf der Grundlage eines Präfixes 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.
Wenn diese Funktion nicht aufgerufen wird, ist der vom SLAAC-Modul verwendete Standardfilter NULL (Filter ist deaktiviert).
Details | |||||
---|---|---|---|---|---|
Parameter |
|
otIp6SockAddrToString
void otIp6SockAddrToString( const otSockAddr *aSockAddr, char *aBuffer, uint16_t aSize )
Diese Funktion wandelt eine bestimmte IPv6-Socket-Adresse in einen für Menschen lesbaren String um.
Der IPv6-Socket-Adressstring hat das Format „"[
]:
ist die Portnummer im Dezimalformat (d.h. "[%x:%x:...:%x]:%u")
Wenn der resultierende String nicht in aBuffer
passt (innerhalb seiner aSize
-Zeichen), wird er abgeschnitten, aber der ausgegebene String wird immer null beendet.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
otIp6AbonnierenMulticastAddress
otError otIp6SubscribeMulticastAddress( otInstance *aInstance, const otIp6Address *aAddress )
Threadschnittstelle über eine Netzwerk-Multicast-Adresse abonnieren.
Die übergebene Instanz aAddress
wird von der Thread-Schnittstelle kopiert. Die Thread-Schnittstelle unterstützt nur eine feste Anzahl von extern hinzugefügten Multicast-Adressen. Siehe OPENHOUR_CONFIG_IP6_MAX_EXT_MCAST_ADDRS.
Details | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||
Rückgabewerte |
|
otIp6unsubscribeMulticastAddress
otError otIp6UnsubscribeMulticastAddress( otInstance *aInstance, const otIp6Address *aAddress )
Beenden Sie die Thread-Schnittstelle von einer Multicast-Adresse für Netzwerkschnittstellen.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabewerte |
|
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_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
Die Themen der Referenzthread API basieren auf dem Quellcode, der auf GitHub verfügbar ist. Weitere Informationen sowie die Möglichkeit, in unserer Dokumentation mitzuwirken, finden Sie unter Ressourcen.