O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

Roteador de borda

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

Resumo

Functions

otBorderRouterAddOnMeshPrefix(otInstance *aInstance, const otBorderRouterConfig *aConfig)
Adicionar uma configuração de roteador de borda aos dados de rede local
otBorderRouterAddRoute(otInstance *aInstance, const otExternalRouteConfig *aConfig)
Adicionar uma configuração de rota externa aos dados de rede local
otBorderRouterGetNetData(otInstance *aInstance, bool aStable, uint8_t *aData, uint8_t *aDataLength)
Esse método fornece uma cópia completa ou estável dos dados da rede Thread local.
otBorderRouterGetNextOnMeshPrefix(otInstance *aInstance, otNetworkDataIterator *aIterator, otBorderRouterConfig *aConfig)
Essa função recebe o próximo prefixo da malha nos dados de rede local.
otBorderRouterGetNextRoute(otInstance *aInstance, otNetworkDataIterator *aIterator, otExternalRouteConfig *aConfig)
Essa função recebe a próxima rota externa nos dados da rede local.
otBorderRouterRegister(otInstance *aInstance)
Registrar os dados da rede local imediatamente com o líder
otBorderRouterRemoveOnMeshPrefix(otInstance *aInstance, const otIp6Prefix *aPrefix)
Remova uma configuração de roteador da borda dos dados da rede local.
otBorderRouterRemoveRoute(otInstance *aInstance, const otIp6Prefix *aPrefix)
Remova uma configuração de rota externa dos dados da rede local.
otBorderRoutingGetNat64Prefix(otInstance *aInstance, otIp6Prefix *aPrefix)
Essa função retorna o prefixo local NAT64.
otBorderRoutingGetOmrPrefix(otInstance *aInstance, otIp6Prefix *aPrefix)
Esse método retorna o prefixo off-mesh-routable (OMR).
otBorderRoutingGetOnLinkPrefix(otInstance *aInstance, otIp6Prefix *aPrefix)
Esse método retorna o prefixo do link para o link da infraestrutura adjacente.
otBorderRoutingInit(otInstance *aInstance, uint32_t aInfraIfIndex, bool aInfraIfIsRunning)
Esse método inicializa o gerenciador de roteamento de borda na interface da infraestrutura especificada.
otBorderRoutingSetEnabled(otInstance *aInstance, bool aEnabled)
Esse método ativa/desativa o gerenciador de roteamento de borda.

Functions

otBorderRouterAddOnMeshPrefix

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

Adicionar uma configuração de roteador de borda aos dados de 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 da 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 da rede local.
Veja também:
otBorderRouterRemoveOnMeshPrefix
otBorderRouterRegister

OtBorderRouterAddRoute

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

Adicionar uma configuração de rota externa aos dados de 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 da rede local.
Veja também:
otBorderRouterRemoveRoute
otBorderRouterRegister

OtBorderRouterGetNetData

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

Esse método 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
TRUE ao copiar a versão estável, FALSE 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
)

Essa função 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 de iteração dos dados de rede. Para conseguir a primeira entrada na malha, ela precisa ser definida como OT_NETWORK_DATA_ITERATOR_INIT.
[out] aConfig
Um ponteiro para as informações sobre o prefixo da malha.
Valores de retorno
OT_ERROR_NONE
O próximo prefixo da malha foi encontrado.
OT_ERROR_NOT_FOUND
Não existe nenhum prefixo "On Mesh" nos dados da rede Thread.

OtBorderRouterGetNextRoute

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

Essa função recebe a próxima rota externa nos dados da rede local.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in,out] aIterator
Um ponteiro para o contexto de iteração dos dados de rede. Para conseguir a primeira entrada de rota externa, ela precisa 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
Próxima rota externa encontrada.
OT_ERROR_NOT_FOUND
Não existe nenhuma entrada de rota externa subsequente nos dados da rede de linha de execução.

OtBorderRouterRegister

otError otBorderRouterRegister(
  otInstance *aInstance
)

Registrar os dados da rede local imediatamente com o líder

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Valores de retorno
OT_ERROR_NONE
Na fila, uma mensagem de solicitação de dados do servidor foi enviada para a entrega.
Veja também:
otBorderRouterAddOnMeshPrefix
otBorderRouterRemoveOnMeshPrefix
otBorderRouterAddRoute
otBorderRouterRemoveRoute

otBorderRouterRemoveOnMeshPrefix

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

Remova uma configuração de roteador da 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
Configuração removida dos dados da rede local.
OT_ERROR_NOT_FOUND
Não foi possível encontrar a entrada do roteador de borda.
Veja 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
Configuração removida dos dados da rede local.
OT_ERROR_NOT_FOUND
Não foi possível encontrar a entrada do roteador de borda.
Veja também:
otBorderRouterAddRoute
otBorderRouterRegister

otBorderRoutingGetNat64Prefix

otError otBorderRoutingGetNat64Prefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

Essa função retorna o prefixo local NAT64.

Este prefixo pode não ser anunciado na rede Thread.

Esta função só está disponível quando OPENTHREAD_CONFIG_BORDER_ROUTING_NAT64_ENABLE está ativado.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[out] aPrefix
Um ponteiro para saída do prefixo.
Valores de retorno
OT_ERROR_INVALID_STATE
O gerenciador de roteamento de borda ainda não foi inicializado.
OT_ERROR_NONE
O prefixo NAT64 foi recuperado.

otBorderRoutingGetOmrPrefix

otError otBorderRoutingGetOmrPrefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

Esse método retorna o prefixo off-mesh-routable (OMR).

O prefixo de 64 bits gerado aleatoriamente será publicado na rede Thread se ainda não houver um prefixo OMR.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[out] aPrefix
Um ponteiro para saída do prefixo.
Valores de retorno
OT_ERROR_INVALID_STATE
O gerenciador de roteamento de borda ainda não foi inicializado.
OT_ERROR_NONE
O prefixo OMR foi recuperado.

otBorderRoutingGetOnLinkPrefix

otError otBorderRoutingGetOnLinkPrefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

Esse método retorna o prefixo do link para o link da infraestrutura adjacente.

O prefixo de 64 bits gerado aleatoriamente será anunciado no link de infraestrutura se ainda não houver um prefixo de link utilizável sendo anunciado no link.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[out] aPrefix
Um ponteiro para saída do prefixo.
Valores de retorno
OT_ERROR_INVALID_STATE
O gerenciador de roteamento de borda ainda não foi inicializado.
OT_ERROR_NONE
O prefixo no link foi recuperado.

OtBorderRoutingInit

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

Esse método inicializa o gerenciador de roteamento de borda na interface da infraestrutura especificada.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aInfraIfIndex
O índice da interface de infraestrutura.
[in] aInfraIfIsRunning
É um booleano que indica se a interface de infraestrutura está em execução.
Valores de retorno
OT_ERROR_NONE
O Border Routing Manager em uma determinada infraestrutura foi iniciado.
OT_ERROR_INVALID_STATE
O Border Routing Manager já foi inicializado.
OT_ERROR_INVALID_ARGS
O índice da interface da infraestrutura não é válido.
OT_ERROR_FAILED
Falha interna. Geralmente devido a uma falha na geração de prefixos aleatórios.
Consulte também:
otPlatInfraIfStateChanged.

OtBorderRoutingSetEnabled

otError otBorderRoutingSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Esse método ativa/desativa o gerenciador de roteamento de borda.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aEnabled
Um booleano para ativar/desativar o gerenciador de roteamento.
Valores de retorno
OT_ERROR_INVALID_STATE
O gerenciador de roteamento de borda ainda não foi inicializado.
OT_ERROR_NONE
O Border Routing Manager foi ativado/desativado.

Recursos

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