ICMPv6

Este módulo incluye funciones que controlan la comunicación ICMPv6.

Resumen

Enumeraciones

otIcmp6Code{
  OT_ICMP6_CODE_DST_UNREACH_NO_ROUTE = 0,
  OT_ICMP6_CODE_FRAGM_REAS_TIME_EX = 1
}
Enum
Códigos de mensaje ICMPv6
otIcmp6EchoMode{
  OT_ICMP6_ECHO_HANDLER_DISABLED = 0,
  OT_ICMP6_ECHO_HANDLER_UNICAST_ONLY = 1,
  OT_ICMP6_ECHO_HANDLER_MULTICAST_ONLY = 2,
  OT_ICMP6_ECHO_HANDLER_ALL = 3
}
Enum
Modos de respuesta de ICMPv6 Echo.
otIcmp6Type{
  OT_ICMP6_TYPE_DST_UNREACH = 1,
  OT_ICMP6_TYPE_PACKET_TO_BIG = 2,
  OT_ICMP6_TYPE_TIME_EXCEEDED = 3,
  OT_ICMP6_TYPE_PARAMETER_PROBLEM = 4,
  OT_ICMP6_TYPE_ECHO_REQUEST = 128,
  OT_ICMP6_TYPE_ECHO_REPLY = 129,
  OT_ICMP6_TYPE_ROUTER_SOLICIT = 133,
  OT_ICMP6_TYPE_ROUTER_ADVERT = 134,
  OT_ICMP6_TYPE_NEIGHBOR_SOLICIT = 135,
  OT_ICMP6_TYPE_NEIGHBOR_ADVERT = 136
}
Enum
Tipos de mensajes ICMPv6.

Typedefs

otIcmp6Code typedef
Códigos de mensaje ICMPv6
otIcmp6EchoMode typedef
Modos de respuesta de ICMPv6 Echo.
otIcmp6Handler typedef
Implementa el controlador de mensajes ICMPv6.
otIcmp6Header typedef
struct otIcmp6Header
Representa un encabezado ICMPv6.
otIcmp6ReceiveCallback)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo, const otIcmp6Header *aIcmpHeader) typedef
void(*
Esta devolución de llamada permite a OpenThread informar a la aplicación de un mensaje de ICMPv6 recibido.
otIcmp6Type typedef
Tipos de mensajes ICMPv6.

Variables

OT_TOOL_PACKED_END

Funciones

otIcmp6GetEchoMode(otInstance *aInstance)
Indica si el procesamiento de eco ICMPv6 está habilitado o no.
otIcmp6RegisterHandler(otInstance *aInstance, otIcmp6Handler *aHandler)
Registra un controlador para proporcionar mensajes ICMPv6 recibidos.
otIcmp6SendEchoRequest(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, uint16_t aIdentifier)
Envía una solicitud Echo ICMPv6 a través de la interfaz de Thread.
otIcmp6SetEchoMode(otInstance *aInstance, otIcmp6EchoMode aMode)
void
Establece si el procesamiento de eco ICMPv6 está habilitado o no.

Structs

otIcmp6Handler

Implementa el controlador de mensajes ICMPv6.

otIcmp6Encabezado

Representa un encabezado ICMPv6.

Uniones

otIcmp6Header::OT_TOOL_PACKED_FIELD

Enumeraciones

otIcmp6Código

 otIcmp6Code

Códigos de mensaje ICMPv6

Propiedades
OT_ICMP6_CODE_DST_UNREACH_NO_ROUTE

Destino inaccesible

OT_ICMP6_CODE_FRAGM_REAS_TIME_EX

Se excedió el tiempo de reensamblado de fragmentos.

otIcmp6EchoMode

 otIcmp6EchoMode

Modos de respuesta de ICMPv6 Echo.

Propiedades
OT_ICMP6_ECHO_HANDLER_ALL

Se habilitó el procesamiento de ICMPv6 Echo para solicitudes de unidifusión y multidifusión.

OT_ICMP6_ECHO_HANDLER_DISABLED

Se inhabilitó el procesamiento de ICMPv6 Echo.

OT_ICMP6_ECHO_HANDLER_MULTICAST_ONLY

El procesamiento de ICMPv6 Echo está habilitado solo para las solicitudes de multidifusión.

OT_ICMP6_ECHO_HANDLER_UNICAST_ONLY

El procesamiento de ICMPv6 Echo está habilitado solo para las solicitudes de unidifusión.

otIcmp6Tipo

 otIcmp6Type

Tipos de mensajes ICMPv6.

Propiedades
OT_ICMP6_TYPE_DST_UNREACH

No se puede acceder al destino.

OT_ICMP6_TYPE_ECHO_REPLY

Repetición del eco.

OT_ICMP6_TYPE_ECHO_REQUEST

Solicitud de eco.

OT_ICMP6_TYPE_NEIGHBOR_ADVERT

Anuncio de vecino.

OT_ICMP6_TYPE_NEIGHBOR_SOLICIT

Solicitud de vecino.

OT_ICMP6_TYPE_PACKET_TO_BIG

De paquete a grande.

OT_ICMP6_TYPE_PARAMETER_PROBLEM

Problema con el parámetro.

OT_ICMP6_TYPE_ROUTER_ADVERT

Anuncio del router.

OT_ICMP6_TYPE_ROUTER_SOLICIT

Solicitud del router.

OT_ICMP6_TYPE_TIME_EXCEEDED

Se acabó el tiempo.

Typedefs

otIcmp6Código

enum otIcmp6Code otIcmp6Code

Códigos de mensaje ICMPv6

otIcmp6EchoMode

enum otIcmp6EchoMode otIcmp6EchoMode

Modos de respuesta de ICMPv6 Echo.

otIcmp6Handler

struct otIcmp6Handler otIcmp6Handler

Implementa el controlador de mensajes ICMPv6.

encabezado de OTCI6

struct otIcmp6Header otIcmp6Header

Representa un encabezado ICMPv6.

otIcmp6RecibirDevolución de llamada

void(* otIcmp6ReceiveCallback)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo, const otIcmp6Header *aIcmpHeader)

Esta devolución de llamada permite a OpenThread informar a la aplicación de un mensaje de ICMPv6 recibido.

Detalles
Parámetros
[in] aContext
Un puntero para obtener información contextual arbitraria
[in] aMessage
Un puntero al mensaje recibido.
[in] aMessageInfo
Un puntero para enviar información asociada con aMessage.
[in] aIcmpHeader
Un puntero para el encabezado ICMPv6 recibido.

otIcmp6Tipo

enum otIcmp6Type otIcmp6Type

Tipos de mensajes ICMPv6.

Variables

PO_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otIcmp6Header OT_TOOL_PACKED_END

Funciones

otIcmp6GetEchoMode

otIcmp6EchoMode otIcmp6GetEchoMode(
  otInstance *aInstance
)

Indica si el procesamiento de eco ICMPv6 está habilitado o no.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Valores que se muestran
OT_ICMP6_ECHO_HANDLER_DISABLED
Se inhabilitó el procesamiento de ICMPv6 Echo.
OT_ICMP6_ECHO_HANDLER_UNICAST_ONLY
Se habilitó el procesamiento de ICMPv6 Echo para las solicitudes unicast
OT_ICMP6_ECHO_HANDLER_MULTICAST_ONLY
Se habilitó el procesamiento de ICMPv6 Echo para las solicitudes de multidifusión
OT_ICMP6_ECHO_HANDLER_ALL
Se habilitó el procesamiento de ICMPv6 Echo para solicitudes de unidifusión y multidifusión

otIcmp6RegisterHandler

otError otIcmp6RegisterHandler(
  otInstance *aInstance,
  otIcmp6Handler *aHandler
)

Registra un controlador para proporcionar mensajes ICMPv6 recibidos.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aHandler
Un puntero a un controlador que contiene la devolución de llamada a la que se llama cuando se recibe un mensaje de ICMPv6.

otIcmp6EnviarEchoRequest

otError otIcmp6SendEchoRequest(
  otInstance *aInstance,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo,
  uint16_t aIdentifier
)

Envía una solicitud Echo ICMPv6 a través de la interfaz de Thread.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aMessage
Un puntero al búfer de mensajes que contiene la carga útil ICMPv6.
[in] aMessageInfo
Una referencia a la información del mensaje asociada con aMessage.
[in] aIdentifier
Es un identificador que ayuda a hacer coincidir las respuestas de Echo con esta solicitud de eco. Puede ser cero.

otIcmp6SetEchoMode

void otIcmp6SetEchoMode(
  otInstance *aInstance,
  otIcmp6EchoMode aMode
)

Establece si el procesamiento de eco ICMPv6 está habilitado o no.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aMode
El modo de procesamiento de ICMPv6 Echo.

Macros

OT_ICMP6_HEADER_DATA_SIZE

 OT_ICMP6_HEADER_DATA_SIZE 4

Tamaño del encabezado ICMPv6.

OT_ICMP6_ROUTER_ADVERT_MIN_SIZE

 OT_ICMP6_ROUTER_ADVERT_MIN_SIZE 16

Tamaño del mensaje de anuncio de router sin opciones.

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.