Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.

TREL

Este módulo incluye la abstracción de la plataforma para Thread Radio Encapsulation Link (TREL) utilizando una interfaz IPv6 / UDP.

Resumen

Funciones

otPlatTrelUdp6HandleReceived ( otInstance *aInstance, uint8_t *aBuffer, uint16_t aLength)
void
Esta función es una devolución de llamada desde la plataforma para notificar un paquete recibido.
otPlatTrelUdp6Init ( otInstance *aInstance, const otIp6Address *aUnicastAddress, uint16_t aUdpPort)
void
Esta función inicializa la interfaz TREL IPv6 / UDP.
otPlatTrelUdp6SendTo ( otInstance *aInstance, const uint8_t *aBuffer, uint16_t aLength, const otIp6Address *aDestAddress)
Esta función solicita que se envíe un paquete a un destino determinado.
otPlatTrelUdp6SetTestMode ( otInstance *aInstance, bool aEnable)
Esta función opcional está destinada a realizar pruebas únicamente.
otPlatTrelUdp6SubscribeMulticastAddress ( otInstance *aInstance, const otIp6Address *aMulticastAddress)
void
Esta función suscribe la interfaz TREL IPv6 / UDP a una nueva dirección de multidifusión.
otPlatTrelUdp6UpdateAddress ( otInstance *aInstance, const otIp6Address *aUnicastAddress)
void
Esta función actualiza la dirección IPv6 unicast para la interfaz TREL IPv6 / UDP.

Funciones

otPlatTrelUdp6HandleReceived

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

Esta función es una devolución de llamada desde la plataforma para notificar un paquete recibido.

Detalles
Parámetros
[in] aInstance
La estructura de la instancia de OpenThread.
[in] aBuffer
Un búfer que contiene el paquete recibido.
[in] aLength
Longitud del paquete (número de bytes).

otPlatTrelUdp6Init

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

Esta función inicializa la interfaz TREL IPv6 / UDP.

Esta función se llama antes que cualquier otra función de la plataforma TREL.

Detalles
Parámetros
[in] aInstance
La estructura de la instancia de OpenThread.
[in] aUnicastAddress
La dirección de unidifusión para agregar a la interfaz y usar como fuente tx y destino rx.
[in] aUdpPort
Un número de puerto UDP para usar.

otPlatTrelUdp6SendTo

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

Esta función solicita que se envíe un paquete a un destino determinado.

Detalles
Parámetros
[in] aInstance
La estructura de la instancia de OpenThread.
[in] aBuffer
Un puntero al búfer que contiene el paquete a enviar.
[in] aLength
Longitud del paquete (número de bytes).
[in] aDestAddress
La dirección IPv6 de destino (puede ser una dirección IPv6 unidifusión o multidifusión).
Valores devueltos
OT_ERROR_NONE
La solicitud de tx se manejó con éxito.
OT_ERROR_ABORT
La interfaz no está lista y tx se canceló

otPlatTrelUdp6SetTestMode

otError otPlatTrelUdp6SetTestMode(
  otInstance *aInstance,
  bool aEnable
)

Esta función opcional está destinada a realizar pruebas únicamente.

Cambia el estado del modo de prueba para la interfaz TREL.

Esta función solicita que la interfaz TREL se deshabilite o habilite temporalmente. Cuando está deshabilitado, todo el flujo de tráfico a través de la interfaz TREL debe descartarse silenciosamente.

OpenThread proporciona una implementación débil predeterminada de este método (que devuelve NOT_IMPLEMENTED).

Detalles
Parámetros
[in] aInstance
La estructura de la instancia de OpenThread.
[in] aEnable
Indica si habilitar / deshabilitar la interfaz TREL.
Valores devueltos
OT_ERROR_NONE
Se cambió con éxito el estado de prueba de la interfaz TREL (habilitado / deshabilitado).
OT_ERROR_FAILED
No se pudo habilitar la interfaz TREL.
OT_ERROR_NOT_IMPLEMENTED
Esta función no la proporciona la plataforma.

otPlatTrelUdp6SubscribeMulticastAddress

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

Esta función suscribe la interfaz TREL IPv6 / UDP a una nueva dirección de multidifusión.

Esta función se puede llamar varias veces para suscribirse a diferentes direcciones. The interface should accept/receive packets destined to any previously subscribed multicast address in addition to the unicast address added from the otPlatTrelUdp6Init() function when interface was initialized.

Detalles
Parámetros
[in] aInstance
La estructura de la instancia de OpenThread.
[in] aMulticastAddress
Una dirección IPv6 de multidifusión.

otPlatTrelUdp6UpdateAddress

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

Esta función actualiza la dirección IPv6 de unidifusión para la interfaz TREL IPv6 / UDP.

La interfaz solo debe tener una dirección IPv6 de unidifusión. Calling this function replaces any previously set unicast IPv6 address (during initialization from otPlatTrelUdp6Init or earlier calls to otPlatTrelUdp6UpdateAddress() ).

Detalles
Parámetros
[in] aInstance
La estructura de la instancia de OpenThread.
[in] aUnicastAddress
La dirección de unidifusión para agregar a la interfaz y usar como fuente tx y destino rx.