Google is committed to advancing racial equity for Black communities. See how.
Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

IPv6

Questo modulo include funzioni che controllano la comunicazione IPv6.

Sommario

Enumerazioni

anonymous enum {
OT_ADDRESS_ORIGIN_THREAD = 0,
OT_ADDRESS_ORIGIN_SLAAC = 1,
OT_ADDRESS_ORIGIN_DHCPV6 = 2,
OT_ADDRESS_ORIGIN_MANUAL = 3
}
enum
Origini indirizzo IPv6.

Typedef

otIp6Address typedef
struct otIp6Address
Questa struttura rappresenta un indirizzo IPv6.
otIp6AddressCallback )(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext) typedef
void(*
Questo puntatore a funzione viene chiamato quando viene aggiunto o rimosso un indirizzo IPv6 interno.
otIp6AddressComponents typedef
Questa struttura rappresenta i componenti di un indirizzo IPv6.
otIp6AddressInfo typedef
otIp6InterfaceIdentifier typedef
Questa struttura rappresenta l'identificatore dell'interfaccia di un indirizzo IPv6.
otIp6NetworkPrefix typedef
Questa struttura rappresenta il prefisso di rete di un indirizzo IPv6 (i 64 bit più significativi dell'indirizzo).
otIp6Prefix typedef
struct otIp6Prefix
Questa struttura rappresenta un prefisso IPv6.
otIp6ReceiveCallback )(otMessage *aMessage, void *aContext) typedef
void(*
Questo puntatore a funzione viene chiamato quando viene ricevuto un datagramma IPv6.
otIp6RegisterMulticastListenersCallback )(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum) typedef
void(*
Questo puntatore a funzione viene chiamato con i risultati di otIp6RegisterMulticastListeners .
otIp6SlaacPrefixFilter )(otInstance *aInstance, const otIp6Prefix *aPrefix) typedef
bool(*
Questo puntatore alla funzione consente all'utente di filtrare i prefissi e non consente l'aggiunta di un indirizzo SLAAC basato su un prefisso.
otMessageInfo typedef
Questa struttura rappresenta gli indirizzi socket IPv6 locali e peer.
otNetifAddress typedef
Questa struttura rappresenta un indirizzo unicast dell'interfaccia di rete IPv6.
otNetifMulticastAddress typedef
Questa struttura rappresenta un indirizzo multicast dell'interfaccia di rete IPv6.
otSockAddr typedef
struct otSockAddr
Questa struttura rappresenta un indirizzo socket IPv6.

Variabili

OT_TOOL_PACKED_END

Funzioni

otIp6AddUnicastAddress ( otInstance *aInstance, const otNetifAddress *aAddress)
Aggiungere un indirizzo di interfaccia di rete all'interfaccia del thread.
otIp6AddUnsecurePort ( otInstance *aInstance, uint16_t aPort)
Questa funzione aggiunge una porta all'elenco delle porte non protette consentite.
otIp6AddressFromString (const char *aString, otIp6Address *aAddress)
Converti una stringa di indirizzo IPv6 leggibile dagli utenti in una rappresentazione binaria.
otIp6GetMulticastAddresses ( otInstance *aInstance)
Ottieni l'elenco degli indirizzi multicast IPv6 sottoscritti all'interfaccia Thread.
otIp6GetUnicastAddresses ( otInstance *aInstance)
Ottieni l'elenco degli indirizzi IPv6 assegnati all'interfaccia Thread.
otIp6GetUnsecurePorts ( otInstance *aInstance, uint8_t *aNumEntries)
const uint16_t *
Questa funzione restituisce un puntatore all'elenco delle porte non sicure.
otIp6IsAddressEqual (const otIp6Address *aFirst, const otIp6Address *aSecond)
bool
Verifica se due indirizzi IPv6 sono uguali.
otIp6IsAddressUnspecified (const otIp6Address *aAddress)
bool
Questa funzione indica se un determinato indirizzo IPv6 è o meno un indirizzo non specificato.
otIp6IsEnabled ( otInstance *aInstance)
bool
Questa funzione indica se l'interfaccia IPv6 è attiva o meno.
otIp6IsMulticastPromiscuousEnabled ( otInstance *aInstance)
bool
Verificare se la modalità promiscua multicast è abilitata sull'interfaccia Thread.
otIp6IsReceiveFilterEnabled ( otInstance *aInstance)
bool
Questa funzione indica se il traffico di controllo Thread viene filtrato o meno durante la consegna di datagrammi IPv6 tramite il callback specificato in otIp6SetReceiveCallback () .
otIp6IsSlaacEnabled ( otInstance *aInstance)
bool
Questa funzione indica se il modulo SLAAC è abilitato o meno.
otIp6NewMessage ( otInstance *aInstance, const otMessageSettings *aSettings)
Allocare un nuovo buffer dei messaggi per inviare un messaggio IPv6.
otIp6NewMessageFromBuffer ( otInstance *aInstance, const uint8_t *aData, uint16_t aDataLength, const otMessageSettings *aSettings)
Allocare un nuovo buffer dei messaggi e scrivere il datagramma IPv6 nel buffer dei messaggi per inviare un messaggio IPv6.
otIp6PrefixMatch (const otIp6Address *aFirst, const otIp6Address *aSecond)
uint8_t
Questa funzione restituisce la lunghezza di corrispondenza del prefisso (bit) per due indirizzi IPv6.
otIp6RegisterMulticastListeners ( otInstance *aInstance, const otIp6Address *aAddresses, uint8_t aAddressNum, const uint32_t *aTimeout, otIp6RegisterMulticastListenersCallback aCallback, void *aContext)
Questa funzione registra gli ascoltatori multicast sul router backbone principale.
otIp6RemoveAllUnsecurePorts ( otInstance *aInstance)
void
Questa funzione rimuove tutte le porte dall'elenco delle porte non sicure consentite.
otIp6RemoveUnicastAddress ( otInstance *aInstance, const otIp6Address *aAddress)
Rimuovere un indirizzo di interfaccia di rete dall'interfaccia del thread.
otIp6RemoveUnsecurePort ( otInstance *aInstance, uint16_t aPort)
Questa funzione rimuove una porta dall'elenco delle porte non sicure consentite.
otIp6SelectSourceAddress ( otInstance *aInstance, otMessageInfo *aMessageInfo)
Questa funzione esegue la selezione dell'indirizzo sorgente OpenThread.
otIp6Send ( otInstance *aInstance, otMessage *aMessage)
Questa funzione invia un datagramma IPv6 tramite l'interfaccia Thread.
otIp6SetAddressCallback ( otInstance *aInstance, otIp6AddressCallback aCallback, void *aCallbackContext)
void
Questa funzione registra una richiamata per notificare le modifiche dell'indirizzo IPv6 interno.
otIp6SetEnabled ( otInstance *aInstance, bool aEnabled)
Questa funzione porta su / giù l'interfaccia IPv6.
otIp6SetMulticastPromiscuousEnabled ( otInstance *aInstance, bool aEnabled)
void
Abilita la modalità promiscua multicast sull'interfaccia Thread.
otIp6SetReceiveCallback ( otInstance *aInstance, otIp6ReceiveCallback aCallback, void *aCallbackContext)
void
Questa funzione registra una richiamata per fornire i datagrammi IPv6 ricevuti.
otIp6SetReceiveFilterEnabled ( otInstance *aInstance, bool aEnabled)
void
Questa funzione imposta se il traffico di controllo Thread viene filtrato o meno durante la consegna di datagrammi IPv6 tramite il callback specificato in otIp6SetReceiveCallback () .
otIp6SetSlaacEnabled ( otInstance *aInstance, bool aEnabled)
void
Questa funzione abilita / disabilita il modulo SLAAC.
otIp6SetSlaacPrefixFilter ( otInstance *aInstance, otIp6SlaacPrefixFilter aFilter)
void
Questa funzione imposta il gestore del filtro del modulo SLAAC.
otIp6SubscribeMulticastAddress ( otInstance *aInstance, const otIp6Address *aAddress)
Sottoscrivere l'interfaccia Thread a un indirizzo multicast dell'interfaccia di rete.
otIp6UnsubscribeMulticastAddress ( otInstance *aInstance, const otIp6Address *aAddress)
Annulla la sottoscrizione dell'interfaccia del thread a un indirizzo multicast dell'interfaccia di rete.

Structs

otIp6Address

Questa struttura rappresenta un indirizzo IPv6.

otIp6AddressComponents

Questa struttura rappresenta i componenti di un indirizzo IPv6.

otIp6AddressInfo

Questa struttura rappresenta le informazioni sull'indirizzo IPv6.

otIp6InterfaceIdentifier

Questa struttura rappresenta l'identificatore dell'interfaccia di un indirizzo IPv6.

otIp6NetworkPrefix

Questa struttura rappresenta il prefisso di rete di un indirizzo IPv6 (i 64 bit più significativi dell'indirizzo).

otIp6Prefix

Questa struttura rappresenta un prefisso IPv6.

otMessageInfo

Questa struttura rappresenta gli indirizzi socket IPv6 locali e peer.

otNetifAddress

Questa struttura rappresenta un indirizzo unicast dell'interfaccia di rete IPv6.

otNetifMulticastAddress

Questa struttura rappresenta un indirizzo multicast dell'interfaccia di rete IPv6.

otSockAddr

Questa struttura rappresenta un indirizzo socket IPv6.

Sindacati

otIp6InterfaceIdentifier :: OT_TOOL_PACKED_FIELD

Enumerazioni

enumerazione anonima

 anonymous enum

Origini indirizzo IPv6.

Proprietà
OT_ADDRESS_ORIGIN_DHCPV6

Indirizzo assegnato da DHCPv6.

OT_ADDRESS_ORIGIN_MANUAL

Indirizzo assegnato manualmente.

OT_ADDRESS_ORIGIN_SLAAC

Indirizzo assegnato da SLAAC.

OT_ADDRESS_ORIGIN_THREAD

Indirizzo assegnato al thread (ALOC, RLOC, MLEID, ecc.)

Typedef

otIp6Address

struct otIp6Address otIp6Address

Questa struttura rappresenta un indirizzo IPv6.

otIp6AddressCallback

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

Questo puntatore a funzione viene chiamato quando viene aggiunto o rimosso un indirizzo IPv6 interno.

Dettagli
Parametri
[in] aAddressInfo
Un puntatore alle informazioni sull'indirizzo IPv6.
[in] aIsAdded
TRUE se aAddress stato aggiunto, FALSE se aAddress stato rimosso.
[in] aContext
Un puntatore al contesto specifico dell'applicazione.

otIp6AddressComponents

struct otIp6AddressComponents otIp6AddressComponents

Questa struttura rappresenta i componenti di un indirizzo IPv6.

otIp6AddressInfo

struct otIp6AddressInfo otIp6AddressInfo

otIp6InterfaceIdentifier

struct otIp6InterfaceIdentifier otIp6InterfaceIdentifier

Questa struttura rappresenta l'identificatore dell'interfaccia di un indirizzo IPv6.

otIp6NetworkPrefix

struct otIp6NetworkPrefix otIp6NetworkPrefix

Questa struttura rappresenta il prefisso di rete di un indirizzo IPv6 (i 64 bit più significativi dell'indirizzo).

otIp6Prefix

struct otIp6Prefix otIp6Prefix

Questa struttura rappresenta un prefisso IPv6.

otIp6ReceiveCallback

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

Questo puntatore a funzione viene chiamato quando viene ricevuto un datagramma IPv6.

Dettagli
Parametri
[in] aMessage
Un puntatore al buffer del messaggio contenente il datagramma IPv6 ricevuto. Questa funzione trasferisce la proprietà di aMessage al destinatario della richiamata. Il messaggio dovrebbe essere liberato dal destinatario della richiamata dopo che è stato elaborato (vedere otMessageFree () ).
[in] aContext
Un puntatore al contesto specifico dell'applicazione.

otIp6RegisterMulticastListenersCallback

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

Questo puntatore a funzione viene chiamato con i risultati di otIp6RegisterMulticastListeners .

Dettagli
Parametri
[in] aContext
Un puntatore al contesto dell'utente.
[in] aError
OT_ERROR_NONE quando ha inviato con successo MLR.req e ricevuto MLR.rsp, OT_ERROR_RESPONSE_TIMEOUT quando non è riuscito a ricevere MLR.rsp, OT_ERROR_PARSE quando non è riuscito ad analizzare MLR.rsp.
[in] aMlrStatus
Lo stato di registrazione del listener multicast quando aError è OT_ERROR_NONE.
[in] aFailedAddresses
Un puntatore agli indirizzi Ip6 non riusciti quando aError è OT_ERROR_NONE.
[in] aFailedAddressNum
Il numero di indirizzi Ip6 non riusciti quando aError è OT_ERROR_NONE.
Guarda anche:
otIp6RegisterMulticastListeners

otIp6SlaacPrefixFilter

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

Questo puntatore alla funzione consente all'utente di filtrare i prefissi e non consente l'aggiunta di un indirizzo SLAAC basato su un prefisso.

otIp6SetSlaacPrefixFilter() può essere utilizzato per impostare il gestore del filtro. Il gestore del filtro viene richiamato dal modulo SLAAC quando sta per aggiungere un indirizzo SLAAC basato su un prefisso. Il suo valore booleano di ritorno determina se l'indirizzo è filtrato (non aggiunto) o meno.

Dettagli
Parametri
[in] aInstacne
Puntatore a un'istanza di OpenThread.
[in] aPrefix
Un puntatore al prefisso per il quale sta per essere aggiunto l'indirizzo SLAAC.
Valori restituiti
TRUE
Indica che l'indirizzo SLAAC basato sul prefisso deve essere filtrato e NON aggiunto.
FALSE
Indica che è necessario aggiungere l'indirizzo SLAAC basato sul prefisso.

otMessageInfo

struct otMessageInfo otMessageInfo

Questa struttura rappresenta gli indirizzi socket IPv6 locali e peer.

otNetifAddress

struct otNetifAddress otNetifAddress

Questa struttura rappresenta un indirizzo unicast dell'interfaccia di rete IPv6.

otNetifMulticastAddress

struct otNetifMulticastAddress otNetifMulticastAddress

Questa struttura rappresenta un indirizzo multicast dell'interfaccia di rete IPv6.

otSockAddr

struct otSockAddr otSockAddr

Questa struttura rappresenta un indirizzo socket IPv6.

Variabili

OT_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otIp6InterfaceIdentifier OT_TOOL_PACKED_END

Funzioni

otIp6AddUnicastAddress

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

Aggiungere un indirizzo di interfaccia di rete all'interfaccia del thread.

L'istanza aAddress viene copiata dall'interfaccia Thread. L'interfaccia Thread supporta solo un numero fisso di indirizzi unicast aggiunti esternamente. Vedi OPENTHREAD_CONFIG_IP6_MAX_EXT_UCAST_ADDRS.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
[in] aAddress
Un puntatore a un indirizzo di interfaccia di rete.
Valori restituiti
OT_ERROR_NONE
Aggiunto (o aggiornato) con successo l'indirizzo dell'interfaccia di rete.
OT_ERROR_INVALID_ARGS
L'indirizzo IP indicato da aAddress è un indirizzo interno.
OT_ERROR_NO_BUFS
L'interfaccia di rete sta già memorizzando gli indirizzi esterni massimi consentiti.

otIp6AddUnsecurePort

otError otIp6AddUnsecurePort(
  otInstance *aInstance,
  uint16_t aPort
)

Questa funzione aggiunge una porta all'elenco delle porte non protette consentite.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
[in] aPort
Il valore della porta.
Valori restituiti
OT_ERROR_NONE
La porta è stata aggiunta correttamente all'elenco delle porte non sicure consentite.
OT_ERROR_INVALID_ARGS
La porta non è valida (il valore 0 è riservato per uso interno).
OT_ERROR_NO_BUFS
L'elenco delle porte non sicure è pieno.

otIp6AddressFromString

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

Converti una stringa di indirizzo IPv6 leggibile dagli utenti in una rappresentazione binaria.

Dettagli
Parametri
[in] aString
Puntatore a una stringa con terminazione NULL.
[out] aAddress
Un puntatore a un indirizzo IPv6.
Valori restituiti
OT_ERROR_NONE
Ha analizzato con successo la stringa.
OT_ERROR_INVALID_ARGS
Impossibile analizzare la stringa.

otIp6GetMulticastAddresses

const otNetifMulticastAddress * otIp6GetMulticastAddresses(
  otInstance *aInstance
)

Ottieni l'elenco degli indirizzi multicast IPv6 sottoscritti all'interfaccia Thread.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
ritorna
Un puntatore al primo indirizzo multicast dell'interfaccia di rete.

otIp6GetUnicastAddresses

const otNetifAddress * otIp6GetUnicastAddresses(
  otInstance *aInstance
)

Ottieni l'elenco degli indirizzi IPv6 assegnati all'interfaccia Thread.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
ritorna
Un puntatore al primo indirizzo dell'interfaccia di rete.

otIp6GetUnsecurePorts

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

Questa funzione restituisce un puntatore all'elenco delle porte non sicure.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
[out] aNumEntries
Il numero di voci nell'elenco.
ritorna
Un puntatore all'elenco delle porte non sicure.

otIp6IsAddressEqual

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

Verifica se due indirizzi IPv6 sono uguali.

Dettagli
Parametri
[in] aFirst
Un puntatore al primo indirizzo IPv6 da confrontare.
[in] aSecond
Un puntatore al secondo indirizzo IPv6 da confrontare.
Valori restituiti
TRUE
I due indirizzi IPv6 sono gli stessi.
FALSE
I due indirizzi IPv6 non sono gli stessi.

otIp6IsAddressUnspecified

bool otIp6IsAddressUnspecified(
  const otIp6Address *aAddress
)

Questa funzione indica se un determinato indirizzo IPv6 è o meno un indirizzo non specificato.

Dettagli
Parametri
[in] aAddress
Un puntatore a un indirizzo IPv6.
Valori restituiti
TRUE
Se l'indirizzo IPv6 è un indirizzo non specificato.
FALSE
Se l'indirizzo IPv6 non è l'indirizzo non specificato.

otIp6IsEnabled

bool otIp6IsEnabled(
  otInstance *aInstance
)

Questa funzione indica se l'interfaccia IPv6 è attiva o meno.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
Valori restituiti
TRUE
L'interfaccia IPv6 è abilitata.
FALSE
L'interfaccia IPv6 è disabilitata.

otIp6IsMulticastPromiscuousEnabled

bool otIp6IsMulticastPromiscuousEnabled(
  otInstance *aInstance
)

Verificare se la modalità promiscua multicast è abilitata sull'interfaccia Thread.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
Guarda anche:
otIp6SetMulticastPromiscuousEnabled

otIp6IsReceiveFilterEnabled

bool otIp6IsReceiveFilterEnabled(
  otInstance *aInstance
)

Questa funzione indica se il traffico di controllo Thread viene filtrato o meno durante la consegna di datagrammi IPv6 tramite il callback specificato in otIp6SetReceiveCallback () .

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
ritorna
TRUE se il traffico del controllo thread viene filtrato, FALSE in caso contrario.
Guarda anche:
otIp6SetReceiveCallback
otIp6SetReceiveFilterEnabled

otIp6IsSlaacEnabled

bool otIp6IsSlaacEnabled(
  otInstance *aInstance
)

Questa funzione indica se il modulo SLAAC è abilitato o meno.

Questa funzione richiede l' OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE funzione in OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE di OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE .

Dettagli
Valori restituiti
TRUE
Il modulo SLAAC è abilitato.
FALSE
Il modulo SLAAC è disabilitato.

otIp6NewMessage

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

Allocare un nuovo buffer dei messaggi per inviare un messaggio IPv6.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
[in] aSettings
Un puntatore alle impostazioni del messaggio o NULL per definire le impostazioni predefinite.
ritorna
Un puntatore al buffer dei messaggi o NULL se non sono disponibili buffer dei messaggi o se i parametri non sono validi.
Guarda anche:
otMessageFree

otIp6NewMessageFromBuffer

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

Allocare un nuovo buffer dei messaggi e scrivere il datagramma IPv6 nel buffer dei messaggi per inviare un messaggio IPv6.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
[in] aData
Un puntatore al buffer del datagramma IPv6.
[in] aDataLength
La dimensione del buffer del datagramma IPv6 puntato da aData .
[in] aSettings
Un puntatore alle impostazioni del messaggio o NULL per definire le impostazioni predefinite.
ritorna
Un puntatore al messaggio o NULL se sono disponibili intestazioni IPv6 non valide o buffer di messaggi insufficienti.
Guarda anche:
otMessageFree

otIp6PrefixMatch

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

Questa funzione restituisce la lunghezza di corrispondenza del prefisso (bit) per due indirizzi IPv6.

Dettagli
Parametri
[in] aFirst
Un puntatore al primo indirizzo IPv6.
[in] aSecond
Un puntatore al secondo indirizzo IPv6.
ritorna
La lunghezza della corrispondenza del prefisso in bit.

otIp6RegisterMulticastListeners

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

Questa funzione registra gli ascoltatori multicast sul router backbone principale.

Nota: disponibile solo quando sia OPENTHREAD_CONFIG_TMF_PROXY_MLR_ENABLE e OPENTHREAD_CONFIG_COMMISSIONER_ENABLE sono abilitati)

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
[in] aAddresses
Un array di indirizzi multicast da registrare.
[in] aAddressNum
Il numero di indirizzi multicast da registrare (0 se aAddresses è NULL).
[in] aTimeout
Un puntatore al valore di timeout (in secondi) da includere in MLR.req. Un valore di timeout pari a 0 rimuove il listener multicast corrispondente. Se NULL, MLR.req non avrebbe Timeout Tlv per impostazione predefinita.
[in] aCallback
Un puntatore alla funzione di callback.
[in] aContext
Un puntatore al contesto dell'utente.
Valori restituiti
OT_ERROR_NONE
Inviato con successo MLR.req. Il aCallback sarà chiamato se e solo se questo metodo restituisce OT_ERROR_NONE.
OT_ERROR_BUSY
Se era in corso una registrazione precedente.
OT_ERROR_INVALID_ARGS
Se uno o più argomenti non sono validi.
OT_ERROR_INVALID_STATE
Se il dispositivo non era in uno stato valido per inviare MLR.req (es. Commissioner non avviato, Router backbone primario non trovato).
OT_ERROR_NO_BUFS
Se sono disponibili buffer dei messaggi insufficienti.
Guarda anche:
otIp6RegisterMulticastListenersCallback

otIp6RemoveAllUnsecurePorts

void otIp6RemoveAllUnsecurePorts(
  otInstance *aInstance
)

Questa funzione rimuove tutte le porte dall'elenco delle porte non sicure consentite.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.

otIp6RemoveUnicastAddress

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

Rimuovere un indirizzo di interfaccia di rete dall'interfaccia del thread.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
[in] aAddress
Un puntatore a un indirizzo IP.
Valori restituiti
OT_ERROR_NONE
Rimosso con successo l'indirizzo dell'interfaccia di rete.
OT_ERROR_INVALID_ARGS
L'indirizzo IP indicato da aAddress è un indirizzo interno.
OT_ERROR_NOT_FOUND
L'indirizzo IP indicato da aAddress non è stato trovato.

otIp6RemoveUnsecurePort

otError otIp6RemoveUnsecurePort(
  otInstance *aInstance,
  uint16_t aPort
)

Questa funzione rimuove una porta dall'elenco delle porte non sicure consentite.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
[in] aPort
Il valore della porta.
Valori restituiti
OT_ERROR_NONE
La porta è stata rimossa correttamente dall'elenco di porte non sicure consentite.
OT_ERROR_INVALID_ARGS
La porta non è valida (il valore 0 è riservato per uso interno).
OT_ERROR_NOT_FOUND
La porta non è stata trovata nell'elenco delle porte non sicure.

otIp6SelectSourceAddress

otError otIp6SelectSourceAddress(
  otInstance *aInstance,
  otMessageInfo *aMessageInfo
)

Questa funzione esegue la selezione dell'indirizzo sorgente OpenThread.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
[in,out] aMessageInfo
Un puntatore alle informazioni sul messaggio.
Valori restituiti
OT_ERROR_NONE
Trovato un indirizzo di origine e viene inserito in mSockAddr di aMessageInfo .
OT_ERROR_NOT_FOUND
Non è stato trovato alcun indirizzo di origine e aMessageInfo è rimasto invariato.

otIp6Send

otError otIp6Send(
  otInstance *aInstance,
  otMessage *aMessage
)

Questa funzione invia un datagramma IPv6 tramite l'interfaccia Thread.

Il chiamante trasferisce la proprietà di aMessage quando effettua questa chiamata. OpenThread libererà un aMessage termine dell'elaborazione, incluso quando viene restituito un valore diverso da OT_ERROR_NONE .

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
[in] aMessage
Un puntatore al buffer dei messaggi contenente il datagramma IPv6.
Valori restituiti
OT_ERROR_NONE
Messaggio elaborato con successo.
OT_ERROR_DROP
Il messaggio era ben formato ma non completamente elaborato a causa delle regole di elaborazione dei pacchetti.
OT_ERROR_NO_BUFS
Impossibile allocare i buffer dei messaggi necessari durante l'elaborazione del datagramma.
OT_ERROR_NO_ROUTE
Nessun percorso per ospitare.
OT_ERROR_INVALID_SOURCE_ADDRESS
Gli indirizzi di origine non sono validi, ad esempio un indirizzo anycast o un indirizzo multicast.
OT_ERROR_PARSE
È stata rilevata un'intestazione errata durante l'elaborazione del messaggio.

otIp6SetAddressCallback

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

Questa funzione registra una richiamata per notificare le modifiche dell'indirizzo IPv6 interno.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
[in] aCallback
Puntatore a una funzione che viene chiamata quando viene aggiunto o rimosso un indirizzo IPv6 interno. NULL per disabilitare la richiamata.
[in] aCallbackContext
Un puntatore al contesto specifico dell'applicazione.

otIp6SetEnabled

otError otIp6SetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Questa funzione porta su / giù l'interfaccia IPv6.

Chiamare questa funzione per abilitare / disabilitare la comunicazione IPv6.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
[in] aEnabled
TRUE per abilitare IPv6, FALSE altrimenti.
Valori restituiti
OT_ERROR_NONE
Portata su / giù l'interfaccia IPv6 con successo.
OT_ERROR_INVALID_STATE
L'interfaccia IPv6 non è disponibile poiché il dispositivo funziona in modalità raw-link (applicabile solo quando la funzione OPENTHREAD_CONFIG_LINK_RAW_ENABLE è abilitata).

otIp6SetMulticastPromiscuousEnabled

void otIp6SetMulticastPromiscuousEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Abilita la modalità promiscua multicast sull'interfaccia Thread.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
[in] aEnabled
TRUE per abilitare la modalità Multicast Promiscuous, FALSE in caso contrario.
Guarda anche:
otIp6IsMulticastPromiscuousEnabled

otIp6SetReceiveCallback

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

Questa funzione registra una richiamata per fornire i datagrammi IPv6 ricevuti.

Per impostazione predefinita, questo callback non passa il traffico di controllo Thread. Vedere otIp6SetReceiveFilterEnabled () per modificare l'impostazione del filtro del traffico del controllo thread.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
[in] aCallback
Puntatore a una funzione che viene chiamata quando viene ricevuto un datagramma IPv6 o NULL per disabilitare la richiamata.
[in] aCallbackContext
Un puntatore al contesto specifico dell'applicazione.
Guarda anche:
otIp6IsReceiveFilterEnabled
otIp6SetReceiveFilterEnabled

otIp6SetReceiveFilterEnabled

void otIp6SetReceiveFilterEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Questa funzione imposta se il traffico di controllo Thread viene filtrato o meno durante la consegna di datagrammi IPv6 tramite il callback specificato in otIp6SetReceiveCallback () .

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
[in] aEnabled
TRUE se il traffico di controllo thread viene filtrato, FALSE in caso contrario.
Guarda anche:
otIp6SetReceiveCallback
otIsReceiveIp6FilterEnabled

otIp6SetSlaacEnabled

void otIp6SetSlaacEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Questa funzione abilita / disabilita il modulo SLAAC.

Questa funzione richiede l' OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE funzione in OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE di OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE .

Quando il modulo SLAAC è abilitato, gli indirizzi SLAAC (basati sui prefissi su mesh nei dati di rete) vengono aggiunti all'interfaccia. Quando il modulo SLAAC è disabilitato, qualsiasi indirizzo SLAAC aggiunto in precedenza viene rimosso.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
[in] aEnabled
TRUE per abilitare, FALSE per disabilitare.

otIp6SetSlaacPrefixFilter

void otIp6SetSlaacPrefixFilter(
  otInstance *aInstance,
  otIp6SlaacPrefixFilter aFilter
)

Questa funzione imposta il gestore del filtro del modulo SLAAC.

Questa funzione richiede l' OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE funzione in OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE di OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE .

Il gestore del filtro viene chiamato dal modulo SLAAC quando sta per aggiungere un indirizzo SLAAC in base a un prefisso per decidere se aggiungere o meno l'indirizzo.

Un gestore di filtri NULL disabilita il filtro e consente l'aggiunta di tutti gli indirizzi SLAAC.

Se questa funzione non viene chiamata, il filtro predefinito utilizzato dal modulo SLAAC sarà NULL (il filtro è disabilitato).

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
[in] aFilter
Puntatore al gestore del filtro del prefisso SLAAC o NULL per disabilitare il filtro.

otIp6SubscribeMulticastAddress

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

Sottoscrivere l'interfaccia Thread a un indirizzo multicast dell'interfaccia di rete.

L'istanza aAddress verrà copiata dall'interfaccia Thread. L'interfaccia Thread supporta solo un numero fisso di indirizzi multicast aggiunti esternamente. Vedi OPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRS.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
[in] aAddress
Un puntatore a un indirizzo IP.
Valori restituiti
OT_ERROR_NONE
Sottoscritto con successo all'indirizzo multicast dell'interfaccia di rete.
OT_ERROR_ALREADY
L'indirizzo multicast è già sottoscritto.
OT_ERROR_INVALID_ARGS
L'indirizzo IP indicato da aAddress non è un indirizzo valido.
OT_ERROR_INVALID_STATE
L'interfaccia di rete non è attiva.
OT_ERROR_NO_BUFS
L'interfaccia di rete sta già memorizzando gli indirizzi multicast esterni massimi consentiti.

otIp6UnsubscribeMulticastAddress

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

Annulla la sottoscrizione dell'interfaccia del thread a un indirizzo multicast dell'interfaccia di rete.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
[in] aAddress
Un puntatore a un indirizzo IP.
Valori restituiti
OT_ERROR_NONE
Annullamento della sottoscrizione all'indirizzo multicast dell'interfaccia di rete.
OT_ERROR_INVALID_ARGS
L'indirizzo IP indicato da aAddress è un indirizzo interno.
OT_ERROR_NOT_FOUND
L'indirizzo IP indicato da aAddress non è stato trovato.

Macro

OT_IP6_ADDRESS_SIZE

 OT_IP6_ADDRESS_SIZE 16

Dimensioni di un indirizzo IPv6 (byte)

OT_IP6_IID_SIZE

 OT_IP6_IID_SIZE 8

Dimensioni di un identificatore di interfaccia IPv6 (byte)

OT_IP6_PREFIX_BITSIZE

 OT_IP6_PREFIX_BITSIZE (OT_IP6_PREFIX_SIZE * 8)

Dimensione di un prefisso IPv6 (bit)

OT_IP6_PREFIX_SIZE

 OT_IP6_PREFIX_SIZE 8

Dimensione di un prefisso IPv6 (byte)