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

TREL

Este módulo inclui a abstração da plataforma para Thread Radio Encapsulation Link (TREL) usando uma interface IPv6 / UDP.

Resumo

Funções

otPlatTrelUdp6HandleReceived ( otInstance *aInstance, uint8_t *aBuffer, uint16_t aLength)
void
Esta função é um retorno de chamada da plataforma para notificar um pacote recebido.
otPlatTrelUdp6Init ( otInstance *aInstance, const otIp6Address *aUnicastAddress, uint16_t aUdpPort)
void
Esta função inicializa a interface TREL IPv6 / UDP.
otPlatTrelUdp6SendTo ( otInstance *aInstance, const uint8_t *aBuffer, uint16_t aLength, const otIp6Address *aDestAddress)
Esta função solicita que um pacote seja enviado a um determinado destino.
otPlatTrelUdp6SetTestMode ( otInstance *aInstance, bool aEnable)
Esta função opcional destina-se apenas a testes.
otPlatTrelUdp6SubscribeMulticastAddress ( otInstance *aInstance, const otIp6Address *aMulticastAddress)
void
Esta função inscreve a interface TREL IPv6 / UDP para um novo endereço multicast.
otPlatTrelUdp6UpdateAddress ( otInstance *aInstance, const otIp6Address *aUnicastAddress)
void
Esta função atualiza o endereço IPv6 unicast para a interface TREL IPv6 / UDP.

Funções

otPlatTrelUdp6HandleReceived

void otPlatTrelUdp6HandleReceived(
  otInstance *aInstance,
  uint8_t *aBuffer,
  uint16_t aLength
)

Esta função é um retorno de chamada da plataforma para notificar sobre um pacote recebido.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância OpenThread.
[in] aBuffer
Um buffer contendo o pacote recebido.
[in] aLength
Comprimento do pacote (número de bytes).

otPlatTrelUdp6Init

void otPlatTrelUdp6Init(
  otInstance *aInstance,
  const otIp6Address *aUnicastAddress,
  uint16_t aUdpPort
)

Esta função inicializa a interface TREL IPv6 / UDP.

Esta função é chamada antes de qualquer outra função da plataforma TREL.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância OpenThread.
[in] aUnicastAddress
O endereço unicast a ser adicionado à interface e usado como origem tx e destino rx.
[in] aUdpPort
Um número de porta UDP a ser usado.

otPlatTrelUdp6SendTo

otError otPlatTrelUdp6SendTo(
  otInstance *aInstance,
  const uint8_t *aBuffer,
  uint16_t aLength,
  const otIp6Address *aDestAddress
)

Esta função solicita que um pacote seja enviado a um determinado destino.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância OpenThread.
[in] aBuffer
Um ponteiro para o buffer que contém o pacote a ser enviado.
[in] aLength
Comprimento do pacote (número de bytes).
[in] aDestAddress
O endereço IPv6 de destino (pode ser um endereço IPv6 unicast ou multicast).
Valores Retornados
OT_ERROR_NONE
A solicitação tx foi tratada com sucesso.
OT_ERROR_ABORT
A interface não está pronta e o tx foi abortado

otPlatTrelUdp6SetTestMode

otError otPlatTrelUdp6SetTestMode(
  otInstance *aInstance,
  bool aEnable
)

Esta função opcional destina-se apenas a testes.

Ele muda o status do modo de teste para a interface TREL.

Esta função requer que a interface TREL seja temporariamente desabilitada ou habilitada. Quando desativado, todo o fluxo de tráfego através da interface TREL deve ser interrompido silenciosamente.

Uma implementação fraca padrão deste método é fornecida pelo OpenThread (retornando NOT_IMPLEMENTED).

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância OpenThread.
[in] aEnable
Indica se deve ativar / desativar a interface TREL.
Valores Retornados
OT_ERROR_NONE
Alterado com sucesso o status de teste da interface TREL (habilitado / desabilitado).
OT_ERROR_NOT_IMPLEMENTED
Esta função não é fornecida pela plataforma.

otPlatTrelUdp6SubscribeMulticastAddress

void otPlatTrelUdp6SubscribeMulticastAddress(
  otInstance *aInstance,
  const otIp6Address *aMulticastAddress
)

Esta função inscreve a interface TREL IPv6 / UDP para um novo endereço multicast.

Esta função pode ser chamada várias vezes para se inscrever em endereços diferentes. A interface deve aceitar / receber pacotes destinados a qualquer endereço multicast assinado anteriormente, além do endereço unicast adicionado da função otPlatTrelUdp6Init() quando a interface foi inicializada.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância OpenThread.
[in] aMulticastAddress
Um endereço IPv6 multicast.

otPlatTrelUdp6UpdateAddress

void otPlatTrelUdp6UpdateAddress(
  otInstance *aInstance,
  const otIp6Address *aUnicastAddress
)

Esta função atualiza o endereço IPv6 unicast para a interface TREL IPv6 / UDP.

A interface deve ter apenas um endereço IPv6 unicast. Chamar esta função substitui qualquer endereço IPv6 unicast definido anteriormente (durante a inicialização de otPlatTrelUdp6Init ou chamadas anteriores para otPlatTrelUdp6UpdateAddress() ).

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância OpenThread.
[in] aUnicastAddress
O endereço unicast a ser adicionado à interface e usado como origem tx e destino rx.