Router di confine

Questo modulo include funzioni per gestire i dati della rete locale con il router di confine OpenThread.

Riepilogo

Functions

otBorderRouterAddOnMeshPrefix(otInstance *aInstance, const otBorderRouterConfig *aConfig)
Aggiungi una configurazione del router di confine ai dati della rete locale.
otBorderRouterAddRoute(otInstance *aInstance, const otExternalRouteConfig *aConfig)
Aggiungi una configurazione di route esterna ai dati della rete locale.
otBorderRouterGetNetData(otInstance *aInstance, bool aStable, uint8_t *aData, uint8_t *aDataLength)
Questo metodo fornisce una copia completa o stabile dei dati della rete Thread locale.
otBorderRouterGetNextOnMeshPrefix(otInstance *aInstance, otNetworkDataIterator *aIterator, otBorderRouterConfig *aConfig)
Questa funzione consente di ottenere il prefisso On Mesh successivo nei dati della rete locale.
otBorderRouterGetNextRoute(otInstance *aInstance, otNetworkDataIterator *aIterator, otExternalRouteConfig *aConfig)
Questa funzione consente di ottenere il successivo percorso esterno nei dati di rete locali.
otBorderRouterRegister(otInstance *aInstance)
Registra immediatamente i dati della rete locale con Leader.
otBorderRouterRemoveOnMeshPrefix(otInstance *aInstance, const otIp6Prefix *aPrefix)
Rimuovi la configurazione di un router di confine dai dati della rete locale.
otBorderRouterRemoveRoute(otInstance *aInstance, const otIp6Prefix *aPrefix)
Rimuovere una configurazione di route esterna dai dati della rete locale.
otBorderRoutingGetNat64Prefix(otInstance *aInstance, otIp6Prefix *aPrefix)
Questa funzione restituisce il prefisso NAT64 locale.
otBorderRoutingGetOmrPrefix(otInstance *aInstance, otIp6Prefix *aPrefix)
Questo metodo restituisce il prefisso off-mesh-routable (OMR).
otBorderRoutingGetOnLinkPrefix(otInstance *aInstance, otIp6Prefix *aPrefix)
Questo metodo restituisce il prefisso on-link per il link dell'infrastruttura adiacente.
otBorderRoutingInit(otInstance *aInstance, uint32_t aInfraIfIndex, bool aInfraIfIsRunning)
Questo metodo inizializza il Border Routing Manager nell'interfaccia dell'infrastruttura in questione.
otBorderRoutingSetEnabled(otInstance *aInstance, bool aEnabled)
Questo metodo attiva/disattiva Border Routing Manager.

Functions

otBorderRouterAddOnMeshPrefix

otError otBorderRouterAddOnMeshPrefix(
  otInstance *aInstance,
  const otBorderRouterConfig *aConfig
)

Aggiungi una configurazione del router di confine ai dati della rete locale.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aConfig
Un puntatore alla configurazione del router di confine.
Valori restituiti
OT_ERROR_NONE
Aggiunta della configurazione ai dati della rete locale riuscita.
OT_ERROR_INVALID_ARGS
Uno o più parametri di configurazione non sono validi.
OT_ERROR_NO_BUFS
Spazio insufficiente per aggiungere la configurazione ai dati della rete locale.
Vedi anche:
otBorderRouterRemoveOnMeshPrefix
otBorderRouterRegister

otBorderRouterAddRoute

otError otBorderRouterAddRoute(
  otInstance *aInstance,
  const otExternalRouteConfig *aConfig
)

Aggiungi una configurazione di route esterna ai dati della rete locale.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aConfig
Un puntatore alla configurazione del percorso esterno.
Valori restituiti
OT_ERROR_NONE
Aggiunta della configurazione ai dati della rete locale riuscita.
OT_ERROR_INVALID_ARGS
Uno o più parametri di configurazione non sono validi.
OT_ERROR_NO_BUFS
Spazio insufficiente per aggiungere la configurazione ai dati della rete locale.
Vedi anche:
otBorderRouterRemoveRoute
otBorderRouterRegister

otBorderRouterGetNetData

otError otBorderRouterGetNetData(
  otInstance *aInstance,
  bool aStable,
  uint8_t *aData,
  uint8_t *aDataLength
)

Questo metodo fornisce una copia completa o stabile dei dati della rete Thread locale.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aStable
TRUE durante la copia della versione stabile, FALSE durante la copia della versione completa.
[out] aData
Un puntatore al buffer dei dati.
[in,out] aDataLength
Alla voce, la dimensione del buffer dei dati a cui punta il tag aData. All'uscita, numero di byte copiati.

otBorderRouterGetNextOnMeshPrefix

otError otBorderRouterGetNextOnMeshPrefix(
  otInstance *aInstance,
  otNetworkDataIterator *aIterator,
  otBorderRouterConfig *aConfig
)

Questa funzione consente di ottenere il prefisso On Mesh successivo nei dati della rete locale.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in,out] aIterator
Un puntatore al contesto dell'iteratore di dati di rete. Per ottenere la prima voce on-mesh, questa deve essere impostata su OT_NETWORK_DATA_ITERATOR_INIT.
[out] aConfig
Un puntatore alle informazioni sul prefisso on mesh.
Valori restituiti
OT_ERROR_NONE
Prossimo prefisso On Mesh.
OT_ERROR_NOT_FOUND
Non esiste alcun prefisso On Mesh successivo nei dati di rete di thread.

otBorderRouterGetNextRoute

otError otBorderRouterGetNextRoute(
  otInstance *aInstance,
  otNetworkDataIterator *aIterator,
  otExternalRouteConfig *aConfig
)

Questa funzione consente di ottenere il successivo percorso esterno nei dati di rete locali.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in,out] aIterator
Un puntatore al contesto dell'iteratore di dati di rete. Per ottenere la prima voce di route esterna, è necessario impostarla su OT_NETWORK_DATA_ITERATOR_INIT.
[out] aConfig
Un puntatore alle informazioni percorso esterno.
Valori restituiti
OT_ERROR_NONE
È stato trovato il prossimo percorso esterno.
OT_ERROR_NOT_FOUND
Non è presente alcuna voce di route esterna successiva nei dati di rete di thread.

otBorderRouterRegistra

otError otBorderRouterRegister(
  otInstance *aInstance
)

Registra immediatamente i dati della rete locale con Leader.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
Valori restituiti
OT_ERROR_NONE
Hai accodato correttamente un messaggio Richiesta dati server per il recapito.
Vedi anche:
otBorderRouterAddOnMeshPrefix
otBorderRouterRemoveOnMeshPrefix
otBorderRouterAddRoute
otBorderRouterRemoveRoute

otBorderRouterRemoveOnMeshPrefix

otError otBorderRouterRemoveOnMeshPrefix(
  otInstance *aInstance,
  const otIp6Prefix *aPrefix
)

Rimuovi la configurazione di un router di confine dai dati della rete locale.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aPrefix
Un puntatore a un prefisso IPv6.
Valori restituiti
OT_ERROR_NONE
Rimozione della configurazione dai dati della rete locale riuscita.
OT_ERROR_NOT_FOUND
Impossibile trovare la voce del router di confine.
Vedi anche:
otBorderRouterAddOnMeshPrefix
otBorderRouterRegister

otBorderRouterRemoveRoute

otError otBorderRouterRemoveRoute(
  otInstance *aInstance,
  const otIp6Prefix *aPrefix
)

Rimuovere una configurazione di route esterna dai dati della rete locale.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aPrefix
Un puntatore a un prefisso IPv6.
Valori restituiti
OT_ERROR_NONE
Rimozione della configurazione dai dati della rete locale riuscita.
OT_ERROR_NOT_FOUND
Impossibile trovare la voce del router di confine.
Vedi anche:
otBorderRouterAddRoute
otBorderRouterRegister

otBorderRoutingGetNat64Prefix

otError otBorderRoutingGetNat64Prefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

Questa funzione restituisce il prefisso NAT64 locale.

Questo prefisso potrebbe non essere pubblicizzato nella rete Thread.

Questa funzione è disponibile solo quando OPENTHREAD_CONFIG_BORDER_ROUTING_NAT64_ENABLE è abilitato.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[out] aPrefix
Un puntatore nel punto in cui verrà restituito il prefisso.
Valori restituiti
OT_ERROR_INVALID_STATE
Border Routing Manager non è stato ancora inizializzato.
OT_ERROR_NONE
Recupero del prefisso NAT64 riuscito.

otBorderRoutingGetOmrPrefix

otError otBorderRoutingGetOmrPrefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

Questo metodo restituisce il prefisso off-mesh-routable (OMR).

Il prefisso a 64 bit generato in modo casuale verrà pubblicato nella rete Thread se non esiste già un prefisso OMR.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[out] aPrefix
Un puntatore nel punto in cui verrà restituito il prefisso.
Valori restituiti
OT_ERROR_INVALID_STATE
Border Routing Manager non è stato ancora inizializzato.
OT_ERROR_NONE
Prefisso OMR recuperato.

otBorderRoutingGetOnLinkPrefix

otError otBorderRoutingGetOnLinkPrefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

Questo metodo restituisce il prefisso on-link per il link dell'infrastruttura adiacente.

Il prefisso a 64 bit generato in modo casuale verrà pubblicizzato sul link dell'infrastruttura se non è già presente un prefisso in-link utilizzabile.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[out] aPrefix
Un puntatore nel punto in cui verrà restituito il prefisso.
Valori restituiti
OT_ERROR_INVALID_STATE
Border Routing Manager non è stato ancora inizializzato.
OT_ERROR_NONE
Recuperato il prefisso al link riuscito.

otBorderRoutingInit

otError otBorderRoutingInit(
  otInstance *aInstance,
  uint32_t aInfraIfIndex,
  bool aInfraIfIsRunning
)

Questo metodo inizializza il Border Routing Manager nell'interfaccia dell'infrastruttura in questione.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aInfraIfIndex
L'indice dell'interfaccia dell'infrastruttura.
[in] aInfraIfIsRunning
Un valore booleano che indica se l'interfaccia dell'infrastruttura è in esecuzione.
Valori restituiti
OT_ERROR_NONE
Avvio di Border Routing Manager avviato per l'infrastruttura specificata.
OT_ERROR_INVALID_STATE
Border Routing Manager è già stato inizializzato.
OT_ERROR_INVALID_ARGS
L'indice dell'interfaccia dell'infrastruttura non è valido.
OT_ERROR_FAILED
Errore interno. Di solito a causa della mancata generazione di prefissi casuali.
Vedi anche:
otPlatInfraIfStateChanged.

otBorderRoutingSetEnabled

otError otBorderRoutingSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Questo metodo attiva/disattiva Border Routing Manager.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aEnabled
Un valore booleano per abilitare/disabilitare il gestore di routing.
Valori restituiti
OT_ERROR_INVALID_STATE
Border Routing Manager non è stato ancora inizializzato.
OT_ERROR_NONE
Attivazione/disattivazione di Border Routing Manager riuscita.

Risorse

Gli argomenti di riferimento dell'API OpenThread provengono dal codice sorgente, disponibile su GitHub. Per ulteriori informazioni, o per contribuire alla nostra documentazione, consulta la pagina Risorse.