Roteador de borda

Este módulo inclui funções para gerenciar dados de rede local com o roteador de borda do OpenThread.

Resumo

Typedefs

otBorderRouterNetDataFullCallback)(void *aContext) typedef
void(*
Callback do ponteiro de função, invocado quando os dados de rede (local ou líder) ficam cheios.

Funções

otBorderRouterAddOnMeshPrefix(otInstance *aInstance, const otBorderRouterConfig *aConfig)
Adicione uma configuração de roteador de borda aos dados da rede local.
otBorderRouterAddRoute(otInstance *aInstance, const otExternalRouteConfig *aConfig)
Adicione uma configuração de rota externa aos dados da rede local.
otBorderRouterGetNetData(otInstance *aInstance, bool aStable, uint8_t *aData, uint8_t *aDataLength)
Fornece uma cópia completa ou estável dos dados da rede Thread local.
otBorderRouterGetNextOnMeshPrefix(otInstance *aInstance, otNetworkDataIterator *aIterator, otBorderRouterConfig *aConfig)
Recebe o próximo prefixo da malha nos dados de rede local.
otBorderRouterGetNextRoute(otInstance *aInstance, otNetworkDataIterator *aIterator, otExternalRouteConfig *aConfig)
Recebe a próxima rota externa nos dados de rede locais.
otBorderRouterRegister(otInstance *aInstance)
Registre imediatamente os dados da rede local com o líder.
otBorderRouterRemoveOnMeshPrefix(otInstance *aInstance, const otIp6Prefix *aPrefix)
Remova uma configuração de roteador de borda dos dados da rede local.
otBorderRouterRemoveRoute(otInstance *aInstance, const otIp6Prefix *aPrefix)
Remova uma configuração de rota externa dos dados da rede local.
otBorderRouterSetNetDataFullCallback(otInstance *aInstance, otBorderRouterNetDataFullCallback aCallback, void *aContext)
void
Define o retorno de chamada para indicar quando os dados de rede são preenchidos.

Typedefs

OtBorderRouterNetDataFullCallback

void(* otBorderRouterNetDataFullCallback)(void *aContext)

Callback do ponteiro de função, invocado quando os dados de rede (local ou líder) ficam cheios.

Detalhes
Parâmetros
[in] aContext
Um ponteiro para informações de contexto arbitrárias.

Funções

OtBorderRouterAddOnMeshPrefix

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

Adicione uma configuração de roteador de borda aos dados da rede local.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aConfig
Um ponteiro para a configuração do roteador de borda.
Valores de retorno
OT_ERROR_NONE
Configuração adicionada aos dados da rede local.
OT_ERROR_INVALID_ARGS
Um ou mais parâmetros de configuração são inválidos.
OT_ERROR_NO_BUFS
Não há espaço suficiente disponível para adicionar a configuração aos dados de rede local.
Consulte também:
otBorderRouterRemoveOnMeshPrefix
otBorderRouterRegister

OtBorderRouterAddRoute

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

Adicione uma configuração de rota externa aos dados da rede local.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aConfig
Um ponteiro para a configuração de rota externa.
Valores de retorno
OT_ERROR_NONE
Configuração adicionada aos dados da rede local.
OT_ERROR_INVALID_ARGS
Um ou mais parâmetros de configuração são inválidos.
OT_ERROR_NO_BUFS
Não há espaço suficiente disponível para adicionar a configuração aos dados de rede local.
Consulte também:
otBorderRouterRemoveRoute
otBorderRouterRegister

otBorderRouterGetNetData

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

Fornece uma cópia completa ou estável dos dados da rede Thread local.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aStable
VERDADEIRO ao copiar a versão estável, FALSO ao copiar a versão completa.
[out] aData
Um ponteiro para o buffer de dados.
[in,out] aDataLength
Na entrada, o tamanho do buffer de dados apontado por aData. Na saída, o número de bytes copiados.

otBorderRouterGetNextOnMeshPrefix

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

Recebe o próximo prefixo da malha nos dados de rede local.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in,out] aIterator
Um ponteiro para o contexto do iterador de dados de rede. Para obter a primeira entrada da malha, ela deve ser definida como OT_NETWORK_DATA_ITERATOR_INIT.
[out] aConfig
Um ponteiro para as informações do prefixo da malha.
Valores de retorno
OT_ERROR_NONE
O próximo prefixo da malha foi encontrado.
OT_ERROR_NOT_FOUND
Não há nenhum prefixo de malha subsequente nos dados da rede Thread.

otBorderRouterGetNextRoute

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

Recebe a próxima rota externa nos dados de rede locais.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in,out] aIterator
Um ponteiro para o contexto do iterador de dados de rede. Para obter a primeira entrada de rota externa, ela deve ser definida como OT_NETWORK_DATA_ITERATOR_INIT.
[out] aConfig
Um ponteiro para as informações da rota externa.
Valores de retorno
OT_ERROR_NONE
A próxima rota externa foi encontrada.
OT_ERROR_NOT_FOUND
Não há entrada de rota externa subsequente nos dados da rede Thread.

otBorderRouterRegister

otError otBorderRouterRegister(
  otInstance *aInstance
)

Registre imediatamente os dados da rede local com o líder.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Valores de retorno
OT_ERROR_NONE
Mensagem de solicitação de dados do servidor na fila para entrega.
Consulte também:
otBorderRouterAddOnMeshPrefix
otBorderRouterRemoveOnMeshPrefix
otBorderRouterAddRoute
otBorderRouterRemoveRoute

otBorderRouterRemoveOnMeshPrefix

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

Remova uma configuração de roteador de borda dos dados da rede local.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aPrefix
Um ponteiro para um prefixo IPv6.
Valores de retorno
OT_ERROR_NONE
A configuração dos dados de rede local foi removida.
OT_ERROR_NOT_FOUND
Não foi possível encontrar a entrada do roteador de borda.
Consulte também:
otBorderRouterAddOnMeshPrefix
otBorderRouterRegister

OtBorderRouterRemoveRoute

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

Remova uma configuração de rota externa dos dados da rede local.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aPrefix
Um ponteiro para um prefixo IPv6.
Valores de retorno
OT_ERROR_NONE
A configuração dos dados de rede local foi removida.
OT_ERROR_NOT_FOUND
Não foi possível encontrar a entrada do roteador de borda.
Consulte também:
otBorderRouterAddRoute
otBorderRouterRegister

OtBorderRouterSetNetDataFullCallback

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

Define o retorno de chamada para indicar quando os dados de rede são preenchidos.

Exige OPENTHREAD_CONFIG_BORDER_ROUTER_SIGNAL_NETWORK_DATA_FULL.

O retorno de chamada é invocado sempre que:

  • O dispositivo está operando como líder e recebe um registro de dados de rede de um roteador de borda (BR) que não pode ser adicionado aos dados de rede (sem espaço).
  • O dispositivo funciona como um BR e não é possível adicionar novas entradas aos dados de rede locais.
  • O dispositivo está agindo como um BR e tenta registrar as entradas de dados de rede locais com o líder, mas determina que as entradas locais não cabem.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aCallback
O callback.
[in] aContext
Um ponteiro para informações de contexto arbitrárias usadas com aCallback.

Recursos

Os tópicos de referência da API OpenThread são originados do código-fonte, disponível no GitHub. Para mais informações ou para contribuir com nossa documentação, consulte Recursos.