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

Interfaz de infraestructura

En este módulo, se incluye la abstracción de la plataforma para la interfaz de red de la infraestructura adyacente.

Resumen

Funciones

otPlatInfraIfDiscoverNat64Prefix(uint32_t aInfraIfIndex)
Envía una solicitud para descubrir el prefijo NAT64 en la interfaz de la infraestructura con aInfraIfIndex.
otPlatInfraIfDiscoverNat64PrefixDone(otInstance *aInstance, uint32_t aInfraIfIndex, const otIp6Prefix *aIp6Prefix)
void
El controlador de la interfaz infra llama a este método para notificar a OpenThread que se realizó el descubrimiento del prefijo NAT64.
otPlatInfraIfHasAddress(uint32_t aInfraIfIndex, const otIp6Address *aAddress)
bool
Indica si una interfaz de infraestructura tiene asignada la dirección IPv6 determinada.
otPlatInfraIfRecvIcmp6Nd(otInstance *aInstance, uint32_t aInfraIfIndex, const otIp6Address *aSrcAddress, const uint8_t *aBuffer, uint16_t aBufferLength)
void
El controlador de interfaz Infra llama a este método para notificar a OpenThread que se recibió un mensaje de detección de vecino ICMPv6.
otPlatInfraIfSendIcmp6Nd(uint32_t aInfraIfIndex, const otIp6Address *aDestAddress, const uint8_t *aBuffer, uint16_t aBufferLength)
Envía un mensaje de descubrimiento de vecino ICMPv6 en una interfaz de infraestructura determinada.
otPlatInfraIfStateChanged(otInstance *aInstance, uint32_t aInfraIfIndex, bool aIsRunning)
El controlador de infraestructura de la interfaz llama a este método para notificar a OpenThread sobre los cambios de estado de la interfaz.

Funciones

otPlatInfraIfDiscoverNat64Prefijo

otError otPlatInfraIfDiscoverNat64Prefix(
  uint32_t aInfraIfIndex
)

Envía una solicitud para descubrir el prefijo NAT64 en la interfaz de la infraestructura con aInfraIfIndex.

OpenThread llamará a este método periódicamente para supervisar la presencia o el cambio del prefijo NAT64.

Detalles
Parámetros
[in] aInfraIfIndex
El índice de la interfaz de la infraestructura para descubrir el prefijo NAT64.
Valores que se muestran
OT_ERROR_NONE
Se solicitó correctamente la detección del prefijo NAT64.
OT_ERROR_FAILED
No se pudo solicitar el descubrimiento del prefijo NAT64.

otPlatInfraIfDiscoverNat64Prefijo listo

void otPlatInfraIfDiscoverNat64PrefixDone(
  otInstance *aInstance,
  uint32_t aInfraIfIndex,
  const otIp6Prefix *aIp6Prefix
)

El controlador de la interfaz infra llama a este método para notificar a OpenThread que se realizó el descubrimiento del prefijo NAT64.

Se espera que se invoque después de llamar a otPlatInfraIfDiscoverNat64Prefix. Si no se descubre un prefijo NAT64, aIp6Prefix apuntará a un prefijo vacío con longitud cero.

Detalles
Parámetros
[in] aInstance
Estructura de la instancia de OpenThread.
[in] aInfraIfIndex
El índice de la interfaz de la infraestructura en la que se descubre el prefijo NAT64.
[in] aIp6Prefix
Un puntero para el prefijo NAT64.

otPlatInfraIfHasAddress

bool otPlatInfraIfHasAddress(
  uint32_t aInfraIfIndex,
  const otIp6Address *aAddress
)

Indica si una interfaz de infraestructura tiene asignada la dirección IPv6 determinada.

Detalles
Parámetros
[in] aInfraIfIndex
El índice de la interfaz infra.
[in] aAddress
La dirección IPv6.
Qué muestra
TRUE si la interfaz de infraestructura tiene asignada una dirección IPv6; de lo contrario, es FALSE.

otPlatInfraIfRecvIcmp6Nd

void otPlatInfraIfRecvIcmp6Nd(
  otInstance *aInstance,
  uint32_t aInfraIfIndex,
  const otIp6Address *aSrcAddress,
  const uint8_t *aBuffer,
  uint16_t aBufferLength
)

El controlador de interfaz Infra llama a este método para notificar a OpenThread que se recibió un mensaje de detección de vecino ICMPv6.

Consulte el documento RFC 4861: https://tools.ietf.org/html/rfc4861.

Detalles
Parámetros
[in] aInstance
Estructura de la instancia de OpenThread.
[in] aInfraIfIndex
El índice de la interfaz de la infraestructura en la que se recibe el mensaje de ICMPv6.
[in] aSrcAddress
Es la dirección de origen de la que se recibe este mensaje.
[in] aBuffer
El búfer de mensajes ICMPv6.
[in] aBufferLength
La longitud del búfer de mensajes ICMPv6.

otPlatInfraIfSendIcmp6Nd

otError otPlatInfraIfSendIcmp6Nd(
  uint32_t aInfraIfIndex,
  const otIp6Address *aDestAddress,
  const uint8_t *aBuffer,
  uint16_t aBufferLength
)

Envía un mensaje de descubrimiento de vecino ICMPv6 en una interfaz de infraestructura determinada.

Consulte el documento RFC 4861: https://tools.ietf.org/html/rfc4861.

Detalles
Parámetros
[in] aInfraIfIndex
El índice de la interfaz de infraestructura a la que se envía este mensaje.
[in] aDestAddress
La dirección de destino a la que se envía este mensaje.
[in] aBuffer
El búfer de mensajes ICMPv6. La suma de verificación ICMPv6 se deja en cero y la plataforma debe hacer el cálculo de la suma de verificación.
[in] aBufferLength
La longitud del búfer de mensajes.
Valores que se muestran
OT_ERROR_NONE
Se envió correctamente el mensaje ICMPv6.
OT_ERROR_FAILED
No se pudo enviar el mensaje ICMPv6.

otPlatInfraIfStateChanged

otError otPlatInfraIfStateChanged(
  otInstance *aInstance,
  uint32_t aInfraIfIndex,
  bool aIsRunning
)

El controlador de infraestructura de la interfaz llama a este método para notificar a OpenThread sobre los cambios de estado de la interfaz.

Está bien que la plataforma llame al método incluso cuando no se haya modificado el estado de ejecución de la interfaz. En este caso, el estado del administrador de rutas no se ve afectado.

Detalles
Parámetros
[in] aInstance
Estructura de la instancia de OpenThread.
[in] aInfraIfIndex
El índice de la interfaz de la infraestructura.
[in] aIsRunning
Un valor booleano que indica si la interfaz de la infraestructura se está ejecutando.
Valores que se muestran
OT_ERROR_NONE
Se actualizó correctamente el estado de la interfaz de infraestructura.
OT_ERROR_INVALID_STATE
No se inicializó el administrador de enrutamiento.
OT_ERROR_INVALID_ARGS
aInfraIfIndex no coincide con la interfaz de infraestructura con la que se inicializó el administrador de enrutamiento.

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.