Interfaccia dell'infrastruttura

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

Riepilogo

Funzioni

otPlatInfraIfDiscoverNat64Prefix(uint32_t aInfraIfIndex)
Invia una richiesta per rilevare il prefisso NAT64 nell'interfaccia dell'infrastruttura con aInfraIfIndex.
otPlatInfraIfDiscoverNat64PrefixDone(otInstance *aInstance, uint32_t aInfraIfIndex, const otIp6Prefix *aIp6Prefix)
void
Il driver dell'interfaccia dell'infrastruttura chiama questo metodo per notificare a OpenThread che il rilevamento del prefisso NAT64 è stato completato.
otPlatInfraIfHasAddress(uint32_t aInfraIfIndex, const otIp6Address *aAddress)
bool
Indica se a un'interfaccia infra è stato 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 dell'infrastruttura chiama questo metodo per notificare a OpenThread la ricezione di un messaggio ICMPv6 Neighbor Discovery.
otPlatInfraIfSendIcmp6Nd(uint32_t aInfraIfIndex, const otIp6Address *aDestAddress, const uint8_t *aBuffer, uint16_t aBufferLength)
Invia un messaggio ICMPv6 Neighbor Discovery sull'interfaccia dell'infrastruttura specifica.
otPlatInfraIfStateChanged(otInstance *aInstance, uint32_t aInfraIfIndex, bool aIsRunning)
Il driver dell'interfaccia dell'infrastruttura chiama questo metodo per notificare a OpenThread le modifiche dello stato dell'interfaccia.

Funzioni

otPlatInfraIfDiscoverNat64Prefix

otError otPlatInfraIfDiscoverNat64Prefix(
  uint32_t aInfraIfIndex
)

Invia una richiesta per rilevare il prefisso NAT64 nell'interfaccia dell'infrastruttura con aInfraIfIndex.

OpenThread chiama periodicamente questo metodo 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 del 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 dell'infrastruttura chiama questo metodo per notificare a OpenThread che il rilevamento del prefisso NAT64 è stato completato.

Deve essere richiamato dopo aver chiamato otPlatInfraIfDiscoverNat64Prefix. Se non viene rilevato alcun prefisso NAT64, aIp6Prefix punterà a un prefisso vuoto di lunghezza pari a zero.

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

otPlatInfraIfHasAddress

bool otPlatInfraIfHasAddress(
  uint32_t aInfraIfIndex,
  const otIp6Address *aAddress
)

Indica se a un'interfaccia infra è stato assegnato l'indirizzo IPv6 specificato.

Dettagli
Parametri
[in] aInfraIfIndex
L'indice dell'interfaccia infra.
[in] aAddress
L'indirizzo IPv6.
Restituisce
TRUE se l'interfaccia infra ha fornito un indirizzo IPv6 assegnato, altrimenti FALSE.

OtPlatInfraIfRecvIcmp6Nd

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

Il driver dell'interfaccia dell'infrastruttura chiama questo metodo per notificare a OpenThread la ricezione di un messaggio ICMPv6 Neighbor Discovery.

Vedi 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 il messaggio.
[in] aBuffer
Il buffer dei 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
)

Invia un messaggio ICMPv6 Neighbor Discovery sull'interfaccia dell'infrastruttura specifica.

Vedi 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 il messaggio.
[in] aBuffer
Il buffer dei messaggi ICMPv6. Il checksum ICMPv6 viene lasciato zero e la piattaforma dovrebbe eseguire il calcolo del checksum.
[in] aBufferLength
La lunghezza del buffer del messaggio.
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 dell'infrastruttura chiama questo metodo per notificare a OpenThread le modifiche dello stato dell'interfaccia.

La piattaforma può chiamare il metodo anche se lo stato di 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
L'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 infra aggiornato correttamente.
OT_ERROR_INVALID_STATE
Routing Manager non è inizializzato.
OT_ERROR_INVALID_ARGS
aInfraIfIndex non corrisponde all'interfaccia dell'infrastruttura con cui è inizializzato Routing Manager.

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.