Router di confine

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

Riepilogo

Definizione di tipo

otBorderRouterNetDataFullCallback)(void *aContext) typedef
void(*
callback del puntatore di funzione che viene richiamato quando i dati di rete (locali o leader) sono esauriti.

Funzioni

otBorderRouterAddOnMeshPrefix(otInstance *aInstance, const otBorderRouterConfig *aConfig)
Aggiungere la configurazione di un router di confine ai dati di rete locali.
otBorderRouterAddRoute(otInstance *aInstance, const otExternalRouteConfig *aConfig)
Aggiungere una configurazione di route esterna ai dati della rete locale.
otBorderRouterGetNetData(otInstance *aInstance, bool aStable, uint8_t *aData, uint8_t *aDataLength)
Fornisce una copia completa o stabile dei dati di rete Thread locali.
otBorderRouterGetNextOnMeshPrefix(otInstance *aInstance, otNetworkDataIterator *aIterator, otBorderRouterConfig *aConfig)
Visualizza il successivo prefisso On nei dati di rete locali.
otBorderRouterGetNextRoute(otInstance *aInstance, otNetworkDataIterator *aIterator, otExternalRouteConfig *aConfig)
Visualizza la successiva route esterna nei dati di rete locali.
otBorderRouterRegister(otInstance *aInstance)
Registra immediatamente i dati della rete locale con il leader.
otBorderRouterRemoveOnMeshPrefix(otInstance *aInstance, const otIp6Prefix *aPrefix)
Rimuovi la configurazione di un router di confine dai dati di rete locali.
otBorderRouterRemoveRoute(otInstance *aInstance, const otIp6Prefix *aPrefix)
Rimuovi la configurazione di una route esterna dai dati della rete locale.
otBorderRouterSetNetDataFullCallback(otInstance *aInstance, otBorderRouterNetDataFullCallback aCallback, void *aContext)
void
Imposta il callback per indicare quando i dati di rete sono esauriti.

Definizione di tipo

OtBorderRouterNetDataFullCallback

void(* otBorderRouterNetDataFullCallback)(void *aContext)

callback del puntatore di funzione che viene richiamato quando i dati di rete (locali o leader) sono esauriti.

Dettagli
Parametri
[in] aContext
Un puntatore alle informazioni di contesto arbitrarie.

Funzioni

Prefisso otBorderRouterAddOnMesh

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

Aggiungere la configurazione di un router di confine ai dati di rete locali.

Dettagli
Parametri
[in] aInstance
Un puntatore su un'istanza OpenThread.
[in] aConfig
Un puntatore alla configurazione del router di confine.
Valori restituiti
OT_ERROR_NONE
Configurazione configurata correttamente con i dati di rete locali.
OT_ERROR_INVALID_ARGS
Uno o più parametri di configurazione non sono validi.
OT_ERROR_NO_BUFS
Non c'è abbastanza spazio disponibile per aggiungere la configurazione ai dati della rete locale.
Vedi anche:
otBorderRouterRemoveOnMeshPrefix
otBorderRouterregister

OtBorderRouterAddRoute

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

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

Dettagli
Parametri
[in] aInstance
Un puntatore su un'istanza OpenThread.
[in] aConfig
Un puntatore sulla configurazione della route esterna.
Valori restituiti
OT_ERROR_NONE
Configurazione configurata correttamente con i dati di rete locali.
OT_ERROR_INVALID_ARGS
Uno o più parametri di configurazione non sono validi.
OT_ERROR_NO_BUFS
Non c'è abbastanza spazio disponibile 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
)

Fornisce una copia completa o stabile dei dati di rete Thread locali.

Dettagli
Parametri
[in] aInstance
Un puntatore su un'istanza OpenThread.
[in] aStable
TRUE quando copi la versione stabile, FALSE quando copi la versione completa.
[out] aData
Un puntatore al buffer di dati.
[in,out] aDataLength
Al momento dell'inserimento, le dimensioni del buffer di dati a cui rimanda la pagina aData. All'uscita, il numero di byte copiati.

otBorderRouterGetNextOnMeshPrefix

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

Visualizza il successivo prefisso On nei dati di rete locali.

Dettagli
Parametri
[in] aInstance
Un puntatore su un'istanza OpenThread.
[in,out] aIterator
Un puntatore al contesto dell'iteratore dei dati di rete. Per ottenere la prima voce sulla rete, deve essere impostata su OT_NETWORK_DATA_ITERATOR_INIT.
[out] aConfig
Un puntatore alle informazioni del prefisso On Mesh.
Valori restituiti
OT_ERROR_NONE
Trovato il prefisso On Mesh successivo.
OT_ERROR_NOT_FOUND
Non esiste alcun prefisso On Mesh successivo nei dati di rete Thread.

otBorderRouterGetNextRoute

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

Visualizza la successiva route esterna nei dati di rete locali.

Dettagli
Parametri
[in] aInstance
Un puntatore su un'istanza OpenThread.
[in,out] aIterator
Un puntatore al contesto dell'iteratore dei dati di rete. Per ottenere la prima voce di percorso esterna deve essere impostata su OT_NETWORK_DATA_ITERATOR_INIT.
[out] aConfig
Un puntatore sulle informazioni del percorso esterno.
Valori restituiti
OT_ERROR_NONE
Trovata la route esterna successiva trovata correttamente.
OT_ERROR_NOT_FOUND
Nei dati di rete Thread non esiste alcuna voce di route esterna successiva.

Registrazione OtBorderRouter

otError otBorderRouterRegister(
  otInstance *aInstance
)

Registra immediatamente i dati della rete locale con il leader.

Dettagli
Parametri
[in] aInstance
Un puntatore su un'istanza OpenThread.
Valori restituiti
OT_ERROR_NONE
È stato messo in coda un messaggio di richiesta di dati del 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 di rete locali.

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

OtBorderRouterRemoveRoute

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

Rimuovi la configurazione di una route esterna dai dati della rete locale.

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

OtBorderRouterSetNetDataFullCallback

void otBorderRouterSetNetDataFullCallback(
  otInstance *aInstance,
  otBorderRouterNetDataFullCallback aCallback,
  void *aContext
)

Imposta il callback per indicare quando i dati di rete sono esauriti.

Richiede OPENTHREAD_CONFIG_BORDER_ROUTER_SIGNAL_NETWORK_DATA_FULL.

Il callback viene richiamato ogni volta che:

  • Il dispositivo agisce da leader e riceve una registrazione dei dati di rete da un router di confine (BR) che non può aggiungere ai dati di rete (esaurisce lo spazio).
  • Il dispositivo funziona come un BR e non è possibile aggiungere nuove voci ai dati di rete locali.
  • Il dispositivo agisce come un BR e tenta di registrare le sue voci di dati di rete locali con il leader, ma determina che le sue voci locali non saranno adatte.

Dettagli
Parametri
[in] aInstance
Un puntatore su un'istanza OpenThread.
[in] aCallback
Il callback.
[in] aContext
Un puntatore alle informazioni contestuali contestuali utilizzate con aCallback.

Risorse

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