Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Interfaccia dell'infrastruttura

Questo modulo include l'astrazione della piattaforma per l'interfaccia di rete dell'infrastruttura adiacente.

Riepilogo

Functions

otPlatInfraIfDiscoverNat64Prefix(uint32_t aInfraIfIndex)
Invia una richiesta per scoprire il prefisso NAT64 sull'interfaccia dell'infrastruttura con aInfraIfIndex.
otPlatInfraIfDiscoverNat64PrefixDone(otInstance *aInstance, uint32_t aInfraIfIndex, const otIp6Prefix *aIp6Prefix)
void
Il driver dell'interfaccia infra chiama questo metodo per informare OpenThread che il rilevamento di NAT64 è stato completato.
otPlatInfraIfHasAddress(uint32_t aInfraIfIndex, const otIp6Address *aAddress)
bool
Questo metodo indica se all'interfaccia infrastruttura è assegnato l'indirizzo IPv6 specificato.
otPlatInfraIfRecvIcmp6Nd(otInstance *aInstance, uint32_t aInfraIfIndex, const otIp6Address *aSrcAddress, const uint8_t *aBuffer, uint16_t aBufferLength)
void
Il driver dell'interfaccia infra chiama questo metodo per notificare a OpenThread che viene ricevuto un messaggio ICMPv6 Neighbor Discovery.
otPlatInfraIfSendIcmp6Nd(uint32_t aInfraIfIndex, const otIp6Address *aDestAddress, const uint8_t *aBuffer, uint16_t aBufferLength)
Questo metodo invia un messaggio ICMPv6 Neighbor Discovery sull'interfaccia dell'infrastruttura specificata.
otPlatInfraIfStateChanged(otInstance *aInstance, uint32_t aInfraIfIndex, bool aIsRunning)
Il driver dell'interfaccia infra chiama questo metodo per notificare a OpenThread le modifiche allo stato dell'interfaccia.

Functions

otPlatInfraIfDiscoverNat64Prefix

otError otPlatInfraIfDiscoverNat64Prefix(
  uint32_t aInfraIfIndex
)

Invia una richiesta per scoprire il prefisso NAT64 sull'interfaccia dell'infrastruttura con aInfraIfIndex.

OpenThread chiama questo metodo periodicamente per monitorare la presenza o la modifica del prefisso NAT64.

Dettagli
Parametri
[in] aInfraIfIndex
L'indice dell'interfaccia dell'infrastruttura per scoprire il prefisso NAT64.
Valori restituiti
OT_ERROR_NONE
Richiesta di rilevamento del prefisso NAT64 riuscita.
OT_ERROR_FAILED
Impossibile richiedere il rilevamento del prefisso NAT64.

otPlatInfraIfDiscoverNat64PrefixDone

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

Il driver dell'interfaccia infra chiama questo metodo per informare OpenThread che il rilevamento di NAT64 è stato completato.

Questo metodo dovrebbe essere richiamato dopo aver chiamato otPlatInfraIfDiscoverNat64Prefix. Se non viene rilevato un prefisso NAT64, aIp6Prefix rimanda a un prefisso vuoto di lunghezza nulla.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
[in] aInfraIfIndex
Indice dell'interfaccia di infrastruttura in cui viene rilevato il prefisso NAT64.
[in] aIp6Prefix
Un puntatore al prefisso NAT64.

otPlatInfraIfHasAddress

bool otPlatInfraIfHasAddress(
  uint32_t aInfraIfIndex,
  const otIp6Address *aAddress
)

Questo metodo indica se all'interfaccia infrastruttura è assegnato l'indirizzo IPv6 specificato.

Dettagli
Parametri
[in] aInfraIfIndex
Indice dell'interfaccia infra.
[in] aAddress
L'indirizzo IPv6.
Restituisce
TRUE se l'interfaccia infra ha assegnato l'indirizzo IPv6, FALSE in caso contrario.

OtPlatInfraIfRecvIcmp6Nd

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

Il driver dell'interfaccia infra chiama questo metodo per notificare a OpenThread che viene ricevuto un messaggio ICMPv6 Neighbor Discovery.

Consulta il documento RFC 4861: https://tools.ietf.org/html/rfc4861.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
[in] aInfraIfIndex
L'indice dell'interfaccia dell'infrastruttura su cui viene ricevuto il messaggio ICMPv6.
[in] aSrcAddress
L'indirizzo di origine da cui viene ricevuto questo messaggio.
[in] aBuffer
Il buffer di messaggi ICMPv6.
[in] aBufferLength
La lunghezza del buffer dei messaggi ICMPv6.

otPlatInfraIfSendIcmp6Nd

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

Questo metodo invia un messaggio ICMPv6 Neighbor Discovery sull'interfaccia dell'infrastruttura specificata.

Consulta il documento RFC 4861: https://tools.ietf.org/html/rfc4861.

Dettagli
Parametri
[in] aInfraIfIndex
L'indice dell'interfaccia dell'infrastruttura a cui viene inviato questo messaggio.
[in] aDestAddress
L'indirizzo di destinazione a cui viene inviato questo messaggio.
[in] aBuffer
Il buffer di messaggi ICMPv6. Il checksum ICMPv6 rimane zero e la piattaforma dovrebbe calcolare il checksum.
[in] aBufferLength
La lunghezza del buffer dei messaggi.
Valori restituiti
OT_ERROR_NONE
Messaggio ICMPv6 inviato correttamente.
OT_ERROR_FAILED
Impossibile inviare il messaggio ICMPv6.

otPlatInfraIfStateChanged

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

Il driver dell'interfaccia infra chiama questo metodo per notificare a OpenThread le modifiche allo stato dell'interfaccia.

La piattaforma può chiamare il metodo anche se lo stato in esecuzione dell'interfaccia non è cambiato. In questo caso, lo stato di Routing Manager non è interessato.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
[in] aInfraIfIndex
Indice dell'interfaccia dell'infrastruttura.
[in] aIsRunning
Un valore booleano che indica se l'interfaccia dell'infrastruttura è in esecuzione.
Valori restituiti
OT_ERROR_NONE
Stato dell'interfaccia infrastruttura aggiornato correttamente.
OT_ERROR_INVALID_STATE
Gestore routing non è inizializzato.
OT_ERROR_INVALID_ARGS
aInfraIfIndex non corrisponde all'interfaccia infrastruttura con cui è inizializzato il Routing Manager.

Risorse

Gli argomenti di riferimento dell'API OpenThread provengono dal codice sorgente, disponibile su GitHub. Per scoprire di più o per contribuire alla nostra documentazione, consulta le Risorse.