IPv6
Questo modulo include funzioni che controllano la comunicazione IPv6.
Riepilogo
Enumerazioni |
|
---|---|
anonymous enum{
|
enum Numeri di protocollo Internet. |
anonymous enum{
|
enum Origini degli indirizzi IPv6. |
anonymous enum{
|
enum Stati ECN, rappresentati come nell'intestazione IP. |
Typedef |
|
---|---|
otBorderRoutingCounters
|
typedefstruct otBorderRoutingCounters
Rappresenta i contatori dei pacchetti inoltrati tramite routing delle frontiere. |
otIp6Address
|
typedefstruct otIp6Address
Rappresenta un indirizzo IPv6. |
otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext)
|
typedefvoid(*
Il puntatore viene chiamato quando viene aggiunto o rimosso un indirizzo IPv6 interno. |
otIp6AddressComponents
|
typedefstruct otIp6AddressComponents
Rappresenta i componenti di un indirizzo IPv6. |
otIp6AddressInfo
|
typedefstruct otIp6AddressInfo
Rappresenta le informazioni dell'indirizzo IPv6. |
otIp6InterfaceIdentifier
|
typedefstruct otIp6InterfaceIdentifier
Rappresenta l'identificatore di interfaccia di un indirizzo IPv6. |
otIp6NetworkPrefix
|
typedefstruct otIp6NetworkPrefix
Rappresenta il prefisso di rete di un indirizzo IPv6 (i 64 bit più significativi dell'indirizzo). |
otIp6Prefix
|
typedefstruct otIp6Prefix
Rappresenta un prefisso IPv6. |
otIp6ReceiveCallback)(otMessage *aMessage, void *aContext)
|
typedefvoid(*
Il puntatore viene chiamato quando viene ricevuto un datagramma IPv6. |
otIp6RegisterMulticastListenersCallback)(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum)
|
typedefvoid(*
Il puntatore viene richiamato con i risultati di otIp6RegisterMulticastListeners . |
otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix *aPrefix)
|
typedefbool(*
Il puntatore consente all'utente di filtrare i prefissi e non consente l'aggiunta di un indirizzo SLAAC in base a un prefisso. |
otMessageInfo
|
typedefstruct otMessageInfo
Rappresenta gli indirizzi dei socket IPv6 locali e peer. |
otNetifAddress
|
typedefstruct otNetifAddress
Rappresenta un indirizzo unicast dell'interfaccia di rete IPv6. |
otNetifMulticastAddress
|
typedefstruct otNetifMulticastAddress
Rappresenta un indirizzo multicast dell'interfaccia di rete IPv6. |
otPacketsAndBytes
|
typedefstruct otPacketsAndBytes
Rappresenta i contatori per pacchetti e byte. |
otSockAddr
|
typedefstruct otSockAddr
Rappresenta un indirizzo socket IPv6. |
Variabili |
|
---|---|
OT_TOOL_PACKED_END
|
Funzioni |
|
---|---|
otIp6AddUnicastAddress(otInstance *aInstance, const otNetifAddress *aAddress)
|
Aggiunge un indirizzo interfaccia di rete all'interfaccia Thread.
|
otIp6AddUnsecurePort(otInstance *aInstance, uint16_t aPort)
|
Aggiunge una porta all'elenco delle porte non protette consentite.
|
otIp6AddressFromString(const char *aString, otIp6Address *aAddress)
|
Converte una stringa di indirizzi IPv6 leggibile in una rappresentazione binaria.
|
otIp6AddressToString(const otIp6Address *aAddress, char *aBuffer, uint16_t aSize)
|
void
Converte un determinato indirizzo IPv6 in una stringa leggibile.
|
otIp6ArePrefixesEqual(const otIp6Prefix *aFirst, const otIp6Prefix *aSecond)
|
bool
Verifica se due prefissi IPv6 sono uguali.
|
otIp6GetBorderRoutingCounters(otInstance *aInstance)
|
const otBorderRoutingCounters *
Ottieni i contatori del routing bordo.
|
otIp6GetMulticastAddresses(otInstance *aInstance)
|
const otNetifMulticastAddress *
Restituisce l'elenco di indirizzi multicast IPv6 sottoscritti all'interfaccia Thread.
|
otIp6GetPrefix(const otIp6Address *aAddress, uint8_t aLength, otIp6Prefix *aPrefix)
|
void
Riceve un prefisso con
aLength da aAddress . |
otIp6GetUnicastAddresses(otInstance *aInstance)
|
const otNetifAddress *
Restituisce l'elenco di indirizzi IPv6 assegnati all'interfaccia Thread.
|
otIp6GetUnsecurePorts(otInstance *aInstance, uint8_t *aNumEntries)
|
const uint16_t *
Restituisce un puntatore all'elenco di porte non sicure.
|
otIp6HasUnicastAddress(otInstance *aInstance, const otIp6Address *aAddress)
|
bool
Indica se un indirizzo IPv6 unicast è assegnato all'interfaccia Thread.
|
otIp6IsAddressEqual(const otIp6Address *aFirst, const otIp6Address *aSecond)
|
bool
Verifica se due indirizzi IPv6 sono uguali.
|
otIp6IsAddressUnspecified(const otIp6Address *aAddress)
|
bool
Indica se un determinato indirizzo IPv6 è l'indirizzo non specificato.
|
otIp6IsEnabled(otInstance *aInstance)
|
bool
Indica se l'interfaccia IPv6 è attiva o meno.
|
otIp6IsMulticastPromiscuousEnabled(otInstance *aInstance)
|
bool
Verifica se la modalità promiscuo multicast è attivata nell'interfaccia Thread.
|
otIp6IsReceiveFilterEnabled(otInstance *aInstance)
|
bool
Indica se il traffico di controllo Thread viene filtrato o meno durante la distribuzione di datagrammi IPv6 tramite il callback specificato in otIp6SetReceiveCallback().
|
otIp6IsSlaacEnabled(otInstance *aInstance)
|
bool
Indica se il modulo SLAAC è abilitato o meno.
|
otIp6NewMessage(otInstance *aInstance, const otMessageSettings *aSettings)
|
Alloca un nuovo buffer dei messaggi per l'invio di un messaggio IPv6.
|
otIp6NewMessageFromBuffer(otInstance *aInstance, const uint8_t *aData, uint16_t aDataLength, const otMessageSettings *aSettings)
|
Alloca un nuovo buffer dei messaggi e scrivi il datagramma IPv6 nel buffer dei messaggi per inviare un messaggio IPv6.
|
otIp6PrefixFromString(const char *aString, otIp6Prefix *aPrefix)
|
Converte una stringa di prefisso IPv6 leggibile in una rappresentazione binaria.
|
otIp6PrefixMatch(const otIp6Address *aFirst, const otIp6Address *aSecond)
|
uint8_t
Restituisce la lunghezza della corrispondenza del prefisso (bit) per due indirizzi IPv6.
|
otIp6PrefixToString(const otIp6Prefix *aPrefix, char *aBuffer, uint16_t aSize)
|
void
Converte un determinato prefisso IPv6 in una stringa leggibile.
|
otIp6ProtoToString(uint8_t aIpProto)
|
const char *
Converte un determinato numero di protocollo IP in una stringa leggibile.
|
otIp6RegisterMulticastListeners(otInstance *aInstance, const otIp6Address *aAddresses, uint8_t aAddressNum, const uint32_t *aTimeout, otIp6RegisterMulticastListenersCallback aCallback, void *aContext)
|
Registra i listener multicast nel router backbone principale.
|
otIp6RemoveAllUnsecurePorts(otInstance *aInstance)
|
void
Rimuove tutte le porte dall'elenco delle porte non sicure consentite.
|
otIp6RemoveUnicastAddress(otInstance *aInstance, const otIp6Address *aAddress)
|
Rimuove un indirizzo interfaccia di rete dall'interfaccia Thread.
|
otIp6RemoveUnsecurePort(otInstance *aInstance, uint16_t aPort)
|
Rimuove una porta dall'elenco delle porte non sicure consentite.
|
otIp6ResetBorderRoutingCounters(otInstance *aInstance)
|
void
Reimposta i contatori del routing bordo.
|
otIp6SelectSourceAddress(otInstance *aInstance, otMessageInfo *aMessageInfo)
|
Esegui la selezione dell'indirizzo di origine OpenThread.
|
otIp6Send(otInstance *aInstance, otMessage *aMessage)
|
Invia un datagramma IPv6 tramite l'interfaccia Thread.
|
otIp6SetAddressCallback(otInstance *aInstance, otIp6AddressCallback aCallback, void *aCallbackContext)
|
void
Registra un callback per notificare le modifiche all'indirizzo IPv6 interno.
|
otIp6SetEnabled(otInstance *aInstance, bool aEnabled)
|
Porta in alto o in basso l'interfaccia IPv6.
|
otIp6SetMeshLocalIid(otInstance *aInstance, const otIp6InterfaceIdentifier *aIid)
|
Imposta l'IID locale mesh (a scopo di test).
|
otIp6SetMulticastPromiscuousEnabled(otInstance *aInstance, bool aEnabled)
|
void
Attiva o disattiva la modalità promiscuo multicast nell'interfaccia Thread.
|
otIp6SetReceiveCallback(otInstance *aInstance, otIp6ReceiveCallback aCallback, void *aCallbackContext)
|
void
Registra un callback per fornire i datagrammi IPv6 ricevuti.
|
otIp6SetReceiveFilterEnabled(otInstance *aInstance, bool aEnabled)
|
void
Consente di impostare se il traffico di controllo Thread viene filtrato o meno durante la distribuzione di datagrammi IPv6 tramite il callback specificato in otIp6SetReceiveCallback().
|
otIp6SetSlaacEnabled(otInstance *aInstance, bool aEnabled)
|
void
Attiva/disattiva il modulo SLAAC.
|
otIp6SetSlaacPrefixFilter(otInstance *aInstance, otIp6SlaacPrefixFilter aFilter)
|
void
Imposta il gestore dei filtri del modulo SLAAC.
|
otIp6SockAddrToString(const otSockAddr *aSockAddr, char *aBuffer, uint16_t aSize)
|
void
Converte un determinato indirizzo socket IPv6 in una stringa leggibile.
|
otIp6SubscribeMulticastAddress(otInstance *aInstance, const otIp6Address *aAddress)
|
Sottoscrive l'interfaccia Thread a un indirizzo Network Interface Multicast.
|
otIp6UnsubscribeMulticastAddress(otInstance *aInstance, const otIp6Address *aAddress)
|
Annulla l'iscrizione dell'interfaccia Thread a un indirizzo di interfaccia multicast di interfaccia di rete.
|
Strutture |
|
---|---|
otBorderRoutingCounters |
Rappresenta i contatori dei pacchetti inoltrati tramite routing delle frontiere. |
otIp6Address |
Rappresenta un indirizzo IPv6. |
otIp6AddressComponents |
Rappresenta i componenti di un indirizzo IPv6. |
otIp6AddressInfo |
Rappresenta le informazioni dell'indirizzo IPv6. |
otIp6InterfaceIdentifier |
Rappresenta l'identificatore di interfaccia di un indirizzo IPv6. |
otIp6NetworkPrefix |
Rappresenta il prefisso di rete di un indirizzo IPv6 (i 64 bit più significativi dell'indirizzo). |
otIp6Prefix |
Rappresenta un prefisso IPv6. |
otMessageInfo |
Rappresenta gli indirizzi dei socket IPv6 locali e peer. |
otNetifAddress |
Rappresenta un indirizzo unicast dell'interfaccia di rete IPv6. |
otNetifMulticastAddress |
Rappresenta un indirizzo multicast dell'interfaccia di rete IPv6. |
otPacketsAndBytes |
Rappresenta i contatori per pacchetti e byte. |
otSockAddr |
Rappresenta un indirizzo socket IPv6. |
Unione |
|
---|---|
otIp6InterfaceIdentifier:: |
Enumerazioni
enum anonimo
anonymous enum
Numeri di protocollo Internet.
Proprietà | |
---|---|
OT_IP6_PROTO_DST_OPTS
|
Opzioni di destinazione per IPv6. |
OT_IP6_PROTO_FRAGMENT
|
Intestazione del frammento per IPv6. |
OT_IP6_PROTO_HOP_OPTS
|
Opzione hop-by-hop IPv6. |
OT_IP6_PROTO_ICMP6
|
ICMP per IPv6. |
OT_IP6_PROTO_IP6
|
Incapsulamento IPv6. |
OT_IP6_PROTO_NONE
|
Nessuna intestazione successiva per IPv6. |
OT_IP6_PROTO_ROUTING
|
Intestazione di routing per IPv6. |
OT_IP6_PROTO_TCP
|
Protocollo di controllo della trasmissione. |
OT_IP6_PROTO_UDP
|
Datagramma utente. |
enum anonimo
anonymous enum
Origini degli indirizzi IPv6.
Proprietà | |
---|---|
OT_ADDRESS_ORIGIN_DHCPV6
|
Indirizzo assegnato da DHCPv6. |
OT_ADDRESS_ORIGIN_MANUAL
|
Indirizzo assegnato manualmente. |
OT_ADDRESS_ORIGIN_SLAAC
|
SLAAC assegnato. |
OT_ADDRESS_ORIGIN_THREAD
|
Indirizzo assegnato al thread (ALOC, RLOC, MLEID ecc.) |
enum anonimo
anonymous enum
Stati ECN, rappresentati come nell'intestazione IP.
Proprietà | |
---|---|
OT_ECN_CAPABLE_0
|
ECT(0) |
OT_ECN_CAPABLE_1
|
ECT(1) |
OT_ECN_MARKED
|
Congestione rilevata (CE) |
OT_ECN_NOT_CAPABLE
|
Non ECT. |
Typedef
otBorderRoutingCounters
struct otBorderRoutingCounters otBorderRoutingCounters
Rappresenta i contatori dei pacchetti inoltrati tramite routing delle frontiere.
otIp6AddressCallback
void(* otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext)
Il puntatore viene chiamato quando viene aggiunto o rimosso un indirizzo IPv6 interno.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
otIp6AddressComponents
struct otIp6AddressComponents otIp6AddressComponents
Rappresenta i componenti di un indirizzo IPv6.
otIp6AddressInfo
struct otIp6AddressInfo otIp6AddressInfo
Rappresenta le informazioni dell'indirizzo IPv6.
otIp6InterfaceIdentifier
struct otIp6InterfaceIdentifier otIp6InterfaceIdentifier
Rappresenta l'identificatore di interfaccia di un indirizzo IPv6.
otIp6NetworkPrefix
struct otIp6NetworkPrefix otIp6NetworkPrefix
Rappresenta il prefisso di rete di un indirizzo IPv6 (i 64 bit più significativi dell'indirizzo).
otIp6ReceiveCallback
void(* otIp6ReceiveCallback)(otMessage *aMessage, void *aContext)
Il puntatore viene chiamato quando viene ricevuto un datagramma IPv6.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
otIp6RegisterMulticastListenersCallback
void(* otIp6RegisterMulticastListenersCallback)(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum)
Il puntatore viene richiamato con i risultati di otIp6RegisterMulticastListeners
.
Dettagli | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
|
otIp6RegisterMulticastListeners
otIp6SlaacPrefixFilter
bool(* otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix *aPrefix)
Il puntatore consente all'utente di filtrare i prefissi e non consente l'aggiunta di un indirizzo SLAAC in base a un prefisso.
È possibile usare otIp6SetSlaacPrefixFilter()
per impostare il gestore dei filtri. Il gestore di filtri viene richiamato dal modulo SLAAC quando sta per aggiungere un indirizzo SLAAC basato su un prefisso. Il suo valore booleano restituito determina se l'indirizzo è filtrato (non aggiunto) o meno.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori restituiti |
|
otMessageInfo
struct otMessageInfo otMessageInfo
Rappresenta gli indirizzi dei socket IPv6 locali e peer.
otNetifAddress
struct otNetifAddress otNetifAddress
Rappresenta un indirizzo unicast dell'interfaccia di rete IPv6.
otNetifMulticastAddress
struct otNetifMulticastAddress otNetifMulticastAddress
Rappresenta un indirizzo multicast dell'interfaccia di rete IPv6.
otPacketsAndBytes
struct otPacketsAndBytes otPacketsAndBytes
Rappresenta i contatori per pacchetti e byte.
Variabili
OT_TOOL_PACKED_END
OT_TOOL_PACKED_BEGIN struct otIp6InterfaceIdentifier OT_TOOL_PACKED_END
Funzioni
otIp6AddUnicastAddress
otError otIp6AddUnicastAddress( otInstance *aInstance, const otNetifAddress *aAddress )
Aggiunge un indirizzo interfaccia di rete all'interfaccia Thread.
L'istanza passata aAddress
viene copiata dall'interfaccia Thread. L'interfaccia Thread supporta solo un numero fisso di indirizzi unicast aggiunti esternamente. Leggi i OPENTHREAD_CONFIG_IP6_MAX_EXT_UCAST_ADDRS
.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
||||||
Valori restituiti |
|
otIp6AddUnsecurePort
otError otIp6AddUnsecurePort( otInstance *aInstance, uint16_t aPort )
Aggiunge una porta all'elenco delle porte non protette consentite.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
||||||
Valori restituiti |
|
otIp6AddressFromString
otError otIp6AddressFromString( const char *aString, otIp6Address *aAddress )
Converte una stringa di indirizzi IPv6 leggibile in una rappresentazione binaria.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori restituiti |
|
otIp6AddressToString
void otIp6AddressToString( const otIp6Address *aAddress, char *aBuffer, uint16_t aSize )
Converte un determinato indirizzo IPv6 in una stringa leggibile.
La stringa dell'indirizzo IPv6 è formattata come 16 valori esadecimali separati da ":" (ad esempio, "%x:%x:%x:...:%x").
Se la stringa risultante non rientra in aBuffer
(all'interno dei suoi aSize
caratteri), la stringa viene troncata, ma la stringa restituita è sempre con terminazione null.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
otIp6ArePrefixesEqual
bool otIp6ArePrefixesEqual( const otIp6Prefix *aFirst, const otIp6Prefix *aSecond )
Verifica se due prefissi IPv6 sono uguali.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori restituiti |
|
otIp6GetBorderRoutingCounters
const otBorderRoutingCounters * otIp6GetBorderRoutingCounters( otInstance *aInstance )
Ottieni i contatori del routing bordo.
La funzionalità OPENTHREAD_CONFIG_IP6_BR_COUNTERS_ENABLE
in fase di build deve essere abilitata.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
Un puntatore ai contatori del routing confine.
|
otIp6GetMulticastAddresses
const otNetifMulticastAddress * otIp6GetMulticastAddresses( otInstance *aInstance )
Restituisce l'elenco di indirizzi multicast IPv6 sottoscritti all'interfaccia Thread.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
Un puntatore al primo indirizzo Network Interface Multicast.
|
otIp6GetPrefix
void otIp6GetPrefix( const otIp6Address *aAddress, uint8_t aLength, otIp6Prefix *aPrefix )
Riceve un prefisso con aLength
da aAddress
.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
otIp6GetUnicastAddresses
const otNetifAddress * otIp6GetUnicastAddresses( otInstance *aInstance )
Restituisce l'elenco di indirizzi IPv6 assegnati all'interfaccia Thread.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
Un puntatore al primo indirizzo dell'interfaccia di rete.
|
otIp6GetUnsecurePorts
const uint16_t * otIp6GetUnsecurePorts( otInstance *aInstance, uint8_t *aNumEntries )
Restituisce un puntatore all'elenco di porte non sicure.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Restituisce |
Un puntatore all'elenco di porte non sicure.
|
otIp6HasUnicastAddress
bool otIp6HasUnicastAddress( otInstance *aInstance, const otIp6Address *aAddress )
Indica se un indirizzo IPv6 unicast è assegnato all'interfaccia Thread.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori restituiti |
|
otIp6IsAddressEqual
bool otIp6IsAddressEqual( const otIp6Address *aFirst, const otIp6Address *aSecond )
Verifica se due indirizzi IPv6 sono uguali.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori restituiti |
|
otIp6IsAddressUnspecified
bool otIp6IsAddressUnspecified( const otIp6Address *aAddress )
Indica se un determinato indirizzo IPv6 è l'indirizzo non specificato.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori restituiti |
|
otIp6IsEnabled
bool otIp6IsEnabled( otInstance *aInstance )
Indica se l'interfaccia IPv6 è attiva o meno.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori restituiti |
|
otIp6IsMulticastPromiscuousEnabled
bool otIp6IsMulticastPromiscuousEnabled( otInstance *aInstance )
Verifica se la modalità promiscuo multicast è attivata nell'interfaccia Thread.
Dettagli | |||
---|---|---|---|
Parametri |
|
otIp6SetMulticastPromiscuousEnabled
otIp6IsReceiveFilterEnabled
bool otIp6IsReceiveFilterEnabled( otInstance *aInstance )
Indica se il traffico di controllo Thread viene filtrato o meno durante la distribuzione di datagrammi IPv6 tramite il callback specificato in otIp6SetReceiveCallback().
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
TRUE se il traffico di controllo Thread viene filtrato, altrimenti FALSE.
|
otIp6SetReceiveCallback
otIp6SetReceiveFilterEnabled
otIp6IsSlaacEnabled
bool otIp6IsSlaacEnabled( otInstance *aInstance )
Indica se il modulo SLAAC è abilitato o meno.
La funzionalità OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE
in fase di build deve essere abilitata.
Dettagli | |||||
---|---|---|---|---|---|
Valori restituiti |
|
otIp6NewMessage
otMessage * otIp6NewMessage( otInstance *aInstance, const otMessageSettings *aSettings )
Alloca un nuovo buffer dei messaggi per l'invio di un messaggio IPv6.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Restituisce |
Un puntatore al buffer dei messaggi o NULL se non sono disponibili buffer dei messaggi o se i parametri non sono validi.
|
otMessageFree
otIp6NewMessageFromBuffer
otMessage * otIp6NewMessageFromBuffer( otInstance *aInstance, const uint8_t *aData, uint16_t aDataLength, const otMessageSettings *aSettings )
Alloca un nuovo buffer dei messaggi e scrivi il datagramma IPv6 nel buffer dei messaggi per inviare un messaggio IPv6.
Dettagli | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||
Restituisce |
Un puntatore al messaggio o NULL se l'intestazione IPv6 non è formattata correttamente o se sono disponibili buffer dei messaggi insufficienti.
|
otMessageFree
otIp6PrefixFromString
otError otIp6PrefixFromString( const char *aString, otIp6Prefix *aPrefix )
Converte una stringa di prefisso IPv6 leggibile in una rappresentazione binaria.
Il parametro aString
deve essere una stringa nel formato "
è un indirizzo IPv6 e
è un prefisso.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori restituiti |
|
otIp6PrefixMatch
uint8_t otIp6PrefixMatch( const otIp6Address *aFirst, const otIp6Address *aSecond )
Restituisce la lunghezza della corrispondenza del prefisso (bit) per due indirizzi IPv6.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Restituisce |
La lunghezza della corrispondenza del prefisso in bit.
|
otIp6PrefixToString
void otIp6PrefixToString( const otIp6Prefix *aPrefix, char *aBuffer, uint16_t aSize )
Converte un determinato prefisso IPv6 in una stringa leggibile.
La stringa dell'indirizzo IPv6 è formattata come "%x:%x:%x:...[::]/plen".
Se la stringa risultante non rientra in aBuffer
(all'interno dei suoi aSize
caratteri), la stringa viene troncata, ma la stringa restituita è sempre con terminazione null.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
otIp6ProtoToString
const char * otIp6ProtoToString( uint8_t aIpProto )
Converte un determinato numero di protocollo IP in una stringa leggibile.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
Una stringa che rappresenta
aIpProto . |
otIp6RegisterMulticastListeners
otError otIp6RegisterMulticastListeners( otInstance *aInstance, const otIp6Address *aAddresses, uint8_t aAddressNum, const uint32_t *aTimeout, otIp6RegisterMulticastListenersCallback aCallback, void *aContext )
Registra i listener multicast nel router backbone principale.
OPENTHREAD_CONFIG_TMF_PROXY_MLR_ENABLE
e OPENTHREAD_CONFIG_COMMISSIONER_ENABLE
devono essere attivati.
Dettagli | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||||||
Valori restituiti |
|
otIp6RegisterMulticastListenersCallback
otIp6RemoveAllUnsecurePorts
void otIp6RemoveAllUnsecurePorts( otInstance *aInstance )
Rimuove tutte le porte dall'elenco delle porte non sicure consentite.
Dettagli | |||
---|---|---|---|
Parametri |
|
otIp6RemoveUnicastAddress
otError otIp6RemoveUnicastAddress( otInstance *aInstance, const otIp6Address *aAddress )
Rimuove un indirizzo interfaccia di rete dall'interfaccia Thread.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
||||||
Valori restituiti |
|
otIp6RemoveUnsecurePort
otError otIp6RemoveUnsecurePort( otInstance *aInstance, uint16_t aPort )
Rimuove una porta dall'elenco delle porte non sicure consentite.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
||||||
Valori restituiti |
|
otIp6ResetBorderRoutingCounters
void otIp6ResetBorderRoutingCounters( otInstance *aInstance )
Reimposta i contatori del routing bordo.
Dettagli | |||
---|---|---|---|
Parametri |
|
otIp6SelectSourceAddress
otError otIp6SelectSourceAddress( otInstance *aInstance, otMessageInfo *aMessageInfo )
Esegui la selezione dell'indirizzo di origine OpenThread.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori restituiti |
|
otIp6Send
otError otIp6Send( otInstance *aInstance, otMessage *aMessage )
Invia un datagramma IPv6 tramite l'interfaccia Thread.
Il chiamante trasferisce la proprietà di aMessage
quando effettui questa chiamata. OpenThread libererà aMessage
al termine dell'elaborazione, anche quando viene restituito un valore diverso da OT_ERROR_NONE
.
Dettagli | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||||||||
Valori restituiti |
|
otIp6SetAddressCallback
void otIp6SetAddressCallback( otInstance *aInstance, otIp6AddressCallback aCallback, void *aCallbackContext )
Registra un callback per notificare le modifiche all'indirizzo IPv6 interno.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
otIp6SetEnabled
otError otIp6SetEnabled( otInstance *aInstance, bool aEnabled )
Porta in alto o in basso l'interfaccia IPv6.
Richiamare questa opzione per attivare o disattivare la comunicazione IPv6.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori restituiti |
|
otIp6SetMeshLocalIid
otError otIp6SetMeshLocalIid( otInstance *aInstance, const otIp6InterfaceIdentifier *aIid )
Imposta l'IID locale mesh (a scopo di test).
Richiede OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori restituiti |
|
otIp6SetMulticastPromiscuousEnabled
void otIp6SetMulticastPromiscuousEnabled( otInstance *aInstance, bool aEnabled )
Attiva o disattiva la modalità promiscuo multicast nell'interfaccia Thread.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
otIp6IsMulticastPromiscuousEnabled
otIp6SetReceiveCallback
void otIp6SetReceiveCallback( otInstance *aInstance, otIp6ReceiveCallback aCallback, void *aCallbackContext )
Registra un callback per fornire i datagrammi IPv6 ricevuti.
Per impostazione predefinita, questo callback non passa il traffico di controllo Thread. Vedi otIp6SetReceiveFilterEnabled() per modificare l'impostazione del filtro del traffico del controllo Thread.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
otIp6IsReceiveFilterEnabled
otIp6SetReceiveFilterEnabled
otIp6SetReceiveFilterEnabled
void otIp6SetReceiveFilterEnabled( otInstance *aInstance, bool aEnabled )
Consente di impostare se il traffico di controllo Thread viene filtrato o meno durante la distribuzione di datagrammi IPv6 tramite il callback specificato in otIp6SetReceiveCallback().
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
otIp6SetReceiveCallback
otIsRiceviIp6FilterEnabled
otIp6SetSlaacEnabled
void otIp6SetSlaacEnabled( otInstance *aInstance, bool aEnabled )
Attiva/disattiva il modulo SLAAC.
La funzionalità OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE
in fase di build deve essere abilitata.
Quando il modulo SLAAC è abilitato, gli indirizzi SLAAC (basati sui prefissi on-mesh nei dati di rete) vengono aggiunti all'interfaccia. Quando il modulo SLAAC viene disattivato, qualsiasi indirizzo SLAAC aggiunto in precedenza viene rimosso.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
otIp6SetSlaacPrefixFilter
void otIp6SetSlaacPrefixFilter( otInstance *aInstance, otIp6SlaacPrefixFilter aFilter )
Imposta il gestore dei filtri del modulo SLAAC.
La funzionalità OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE
in fase di build deve essere abilitata.
Il gestore dei filtri viene chiamato dal modulo SLAAC quando sta per aggiungere un indirizzo SLAAC basato su un prefisso per decidere se aggiungere o meno l'indirizzo.
Un gestore di filtri NULL disabilita i filtri e consente l'aggiunta di tutti gli indirizzi SLAAC.
Se questa funzione non viene richiamata, il filtro predefinito utilizzato dal modulo SLAAC sarà NULL (il filtro è disabilitato).
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
otIp6SockAddrToString
void otIp6SockAddrToString( const otSockAddr *aSockAddr, char *aBuffer, uint16_t aSize )
Converte un determinato indirizzo socket IPv6 in una stringa leggibile.
La stringa dell'indirizzo socket IPv6 ha il formato [address
]:port
, dove address
viene mostrato come 16 valori esadecimali separati da :
e port
è il numero di porta in formato decimale, ad esempio "[%x:%x:...:%x]:%u".
Se la stringa risultante non rientra in aBuffer
(all'interno dei suoi aSize
caratteri), la stringa viene troncata, ma la stringa restituita è sempre con terminazione null.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
otIp6SubscribeMulticastAddress
otError otIp6SubscribeMulticastAddress( otInstance *aInstance, const otIp6Address *aAddress )
Sottoscrive l'interfaccia Thread a un indirizzo Network Interface Multicast.
Il valore passato nell'istanza aAddress
verrà copiato dall'interfaccia Thread. L'interfaccia Thread supporta solo un numero fisso di indirizzi multicast aggiunti esternamente. Leggi i OPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRS
.
Dettagli | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||||
Valori restituiti |
|
otIp6UnsubscribeMulticastAddress
otError otIp6UnsubscribeMulticastAddress( otInstance *aInstance, const otIp6Address *aAddress )
Annulla l'iscrizione dell'interfaccia Thread a un indirizzo di interfaccia multicast di interfaccia di rete.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
||||||
Valori restituiti |
|
Macro
OT_IP6_ADDRESS_SIZE
OT_IP6_ADDRESS_SIZE 16
Dimensioni di un indirizzo IPv6 (byte)
OT_IP6_ADDRESS_STRING_SIZE
OT_IP6_ADDRESS_STRING_SIZE 40
Dimensione consigliata per la rappresentazione stringa di un indirizzo IPv6.
OT_IP6_HEADER_PROTO_OFFSET
OT_IP6_HEADER_PROTO_OFFSET 6
Offset del campo proto nell'intestazione IPv6 (byte)
OT_IP6_HEADER_SIZE
OT_IP6_HEADER_SIZE 40
Dimensioni di un'intestazione IPv6 (byte)
OT_IP6_IID_SIZE
OT_IP6_IID_SIZE 8
Dimensioni di un identificatore di interfaccia IPv6 (byte)
OT_IP6_MAX_MLR_ADDRESSES
OT_IP6_MAX_MLR_ADDRESSES 15
Numero massimo di indirizzi IPv6 supportati dalla registrazione del listener multicast.
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
Dimensioni di un prefisso IPv6 (byte)
OT_IP6_PREFIX_STRING_SIZE
OT_IP6_PREFIX_STRING_SIZE 45
Dimensione consigliata per la rappresentazione stringa di un prefisso IPv6.
OT_IP6_SOCK_ADDR_STRING_SIZE
OT_IP6_SOCK_ADDR_STRING_SIZE 48
Dimensione consigliata per la rappresentazione stringa di un indirizzo socket IPv6.
Risorse
Gli argomenti di riferimento dell'API OpenThread provengono dal codice sorgente, disponibile su GitHub. Per saperne di più o per contribuire alla nostra documentazione, consulta la sezione Risorse.