Router de borde

Este módulo incluye funciones para administrar datos de redes locales con el router de borde de OpenThread.

Resumen

Typedefs

otBorderRouterNetDataFullCallback)(void *aContext) typedef
void(*
Es la devolución de llamada del puntero de función que se invoca cuando se llenan los datos de red (locales o líderes).

Funciones

otBorderRouterAddOnMeshPrefix(otInstance *aInstance, const otBorderRouterConfig *aConfig)
Agrega una configuración de router de borde a los datos de la red local.
otBorderRouterAddRoute(otInstance *aInstance, const otExternalRouteConfig *aConfig)
Agregar una configuración de ruta externa a los datos de red local
otBorderRouterGetNetData(otInstance *aInstance, bool aStable, uint8_t *aData, uint8_t *aDataLength)
Proporciona una copia completa o estable de los datos de red de Thread locales.
otBorderRouterGetNextOnMeshPrefix(otInstance *aInstance, otNetworkDataIterator *aIterator, otBorderRouterConfig *aConfig)
Obtiene el siguiente prefijo de malla en los datos de red local.
otBorderRouterGetNextRoute(otInstance *aInstance, otNetworkDataIterator *aIterator, otExternalRouteConfig *aConfig)
Obtiene la siguiente ruta externa en los datos de red local.
otBorderRouterRegister(otInstance *aInstance)
Registra inmediatamente los datos de la red local con el líder.
otBorderRouterRemoveOnMeshPrefix(otInstance *aInstance, const otIp6Prefix *aPrefix)
Quita una configuración del router de borde de los datos de red local.
otBorderRouterRemoveRoute(otInstance *aInstance, const otIp6Prefix *aPrefix)
Quita una configuración de ruta externa de los datos de red local.
otBorderRouterSetNetDataFullCallback(otInstance *aInstance, otBorderRouterNetDataFullCallback aCallback, void *aContext)
void
Establece la devolución de llamada para indicar cuándo se llenan los datos de red.

Typedefs

otBorderRouterNetDataFullCallback

void(* otBorderRouterNetDataFullCallback)(void *aContext)

Es la devolución de llamada del puntero de función que se invoca cuando se llenan los datos de red (locales o líderes).

Detalles
Parámetros
[in] aContext
Un puntero para obtener información contextual arbitraria

Funciones

otBorderRouterAddOnMeshPrefix

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

Agrega una configuración de router de borde a los datos de la red local.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aConfig
Un puntero para la configuración del router de borde.
Valores que se muestran
OT_ERROR_NONE
Se agregó correctamente la configuración a los datos de la red local.
OT_ERROR_INVALID_ARGS
Uno o más parámetros de configuración no eran válidos.
OT_ERROR_NO_BUFS
No hay suficiente espacio disponible para agregar la configuración a los datos de la red local.
Consulta también:
otBorderRouterRemoveOnMeshPrefix
otBorderRouterRegister

otBorderRouterAddRoute

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

Agregar una configuración de ruta externa a los datos de red local

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aConfig
Un puntero para la configuración de ruta externa.
Valores que se muestran
OT_ERROR_NONE
Se agregó correctamente la configuración a los datos de la red local.
OT_ERROR_INVALID_ARGS
Uno o más parámetros de configuración no eran válidos.
OT_ERROR_NO_BUFS
No hay suficiente espacio disponible para agregar la configuración a los datos de la red local.
Consulta también:
otBorderRouterRemoveRoute
otBorderRouterRegister

otBorderRouterGetNetData

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

Proporciona una copia completa o estable de los datos de red de Thread locales.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aStable
VERDADERO cuando copia la versión estable, FALSO cuando copia la versión completa.
[out] aData
Un puntero para el búfer de datos.
[in,out] aDataLength
Cuando se ingresa, establece el tamaño del búfer de datos al que apunta aData. Al salir, es la cantidad de bytes copiados.

otBorderRouterGetNextOnMeshPrefix

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

Obtiene el siguiente prefijo de malla en los datos de red local.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in,out] aIterator
Un puntero al contexto del iterador de datos de red. Para obtener la primera entrada de la malla, debe establecerla en OT_NETWORK_DATA_ITERATOR_INIT.
[out] aConfig
Un puntero a la información del prefijo On Mesh.
Valores que se muestran
OT_ERROR_NONE
Se encontró correctamente el siguiente prefijo de malla.
OT_ERROR_NOT_FOUND
No existe un prefijo de On Mesh posterior en los datos de red de Thread.

otBorderRouterGetNextRoute

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

Obtiene la siguiente ruta externa en los datos de red local.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in,out] aIterator
Un puntero al contexto del iterador de datos de red. Para obtener la primera entrada de ruta externa, debe establecerse en OT_NETWORK_DATA_ITERATOR_INIT.
[out] aConfig
Un puntero a la información de la ruta externa.
Valores que se muestran
OT_ERROR_NONE
Se encontró correctamente la siguiente ruta externa.
OT_ERROR_NOT_FOUND
No existe una entrada de ruta externa posterior en los datos de red de Thread.

otBorderRouterRegister

otError otBorderRouterRegister(
  otInstance *aInstance
)

Registra inmediatamente los datos de la red local con el líder.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Valores que se muestran
OT_ERROR_NONE
Un mensaje de solicitud de datos del servidor se colocó en cola correctamente para la entrega.
Consulta también:
otBorderRouterAddOnMeshPrefix
otBorderRouterRemoveOnMeshPrefix
otBorderRouterAddRoute
otBorderRouterRemoveRoute

otBorderRouterRemoveOnMeshPrefix

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

Quita una configuración del router de borde de los datos de red local.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aPrefix
Un puntero para un prefijo de IPv6.
Valores que se muestran
OT_ERROR_NONE
Se quitó correctamente la configuración de los datos de red local.
OT_ERROR_NOT_FOUND
No se pudo encontrar la entrada del router de borde.
Consulta también:
otBorderRouterAddOnMeshPrefix
otBorderRouterRegister

otBorderRouterRemoveRoute

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

Quita una configuración de ruta externa de los datos de red local.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aPrefix
Un puntero para un prefijo de IPv6.
Valores que se muestran
OT_ERROR_NONE
Se quitó correctamente la configuración de los datos de red local.
OT_ERROR_NOT_FOUND
No se pudo encontrar la entrada del router de borde.
Consulta también:
otBorderRouterAddRoute
otBorderRouterRegister

otBorderRouterSetNetDataFullCallback

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

Establece la devolución de llamada para indicar cuándo se llenan los datos de red.

Requiere OPENTHREAD_CONFIG_BORDER_ROUTER_SIGNAL_NETWORK_DATA_FULL.

La devolución de llamada se invoca en los siguientes casos:

  • El dispositivo actúa como líder y recibe un registro de datos de red de un router de borde (BR) que no puede agregar a los datos de red (se está quedando sin espacio).
  • El dispositivo funciona como un archivo BR y no se pueden agregar entradas nuevas a sus datos de red locales.
  • El dispositivo actúa como un BR e intenta registrar sus entradas de datos de red locales con el líder, pero determina que sus entradas locales no se ajustarán.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aCallback
Es la devolución de llamada.
[in] aContext
Un puntero para obtener información de contexto arbitraria con aCallback

Recursos

Los temas de referencia de la API de OpenThread se originan a partir del código fuente, disponible en GitHub. Para obtener más información o colaborar con nuestra documentación, consulta la sección Recursos.