ICMPv6
This module includes functions that control ICMPv6 communication.
Classes |
|
struct | otIcmp6Header |
This structure represents an ICMPv6 header.
|
|
struct | otIcmp6Handler |
This structure implements ICMPv6 message handler.
|
Macros |
|
#define | OT_ICMP6_HEADER_DATA_SIZE 4 |
Size of an message specific data of ICMPv6 Header.
|
Typedefs |
|
typedef enum otIcmp6Type | otIcmp6Type |
ICMPv6 Message Types.
|
|
typedef enum otIcmp6Code | otIcmp6Code |
ICMPv6 Message Codes.
|
|
typedef struct otIcmp6Header | otIcmp6Header |
This type represents an ICMPv6 header.
|
|
typedef void(* | otIcmp6ReceiveCallback ) (void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo, const otIcmp6Header *aIcmpHeader) |
This callback allows OpenThread to inform the application of a received ICMPv6 message.
|
|
typedef struct otIcmp6Handler | otIcmp6Handler |
This structure implements ICMPv6 message handler.
|
|
typedef enum otIcmp6EchoMode | otIcmp6EchoMode |
ICMPv6 Echo Reply Modes.
|
Enumerations |
|
enum |
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 } |
ICMPv6 Message Types.
|
|
enum |
otIcmp6Code
{
OT_ICMP6_CODE_DST_UNREACH_NO_ROUTE = 0, OT_ICMP6_CODE_FRAGM_REAS_TIME_EX = 1 } |
ICMPv6 Message Codes.
|
|
enum |
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 } |
ICMPv6 Echo Reply Modes.
|
Functions |
|
otIcmp6EchoMode | otIcmp6GetEchoMode ( otInstance *aInstance) |
This function indicates whether or not ICMPv6 Echo processing is enabled.
|
|
void | otIcmp6SetEchoMode ( otInstance *aInstance, otIcmp6EchoMode aMode) |
This function sets whether or not ICMPv6 Echo processing is enabled.
|
|
otError | otIcmp6RegisterHandler ( otInstance *aInstance, otIcmp6Handler *aHandler) |
This function registers a handler to provide received ICMPv6 messages.
|
|
otError | otIcmp6SendEchoRequest ( otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, uint16_t aIdentifier) |
This function sends an ICMPv6 Echo Request via the Thread interface.
|
Variables |
|
OT_TOOL_PACKED_BEGIN struct otIcmp6Header | OT_TOOL_PACKED_END |
Detailed Description
This module includes functions that control ICMPv6 communication.
Typedef Documentation
◆ otIcmp6Code
typedef enum otIcmp6Code otIcmp6Code |
ICMPv6 Message Codes.
◆ otIcmp6EchoMode
typedef enum otIcmp6EchoMode otIcmp6EchoMode |
ICMPv6 Echo Reply Modes.
◆ otIcmp6ReceiveCallback
typedef void(* otIcmp6ReceiveCallback) (void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo, const otIcmp6Header *aIcmpHeader) |
This callback allows OpenThread to inform the application of a received ICMPv6 message.
- Parameters
-
[in] aContext
A pointer to arbitrary context information. [in] aMessage
A pointer to the received message. [in] aMessageInfo
A pointer to message information associated with aMessage
.[in] aIcmpHeader
A pointer to the received ICMPv6 header.
◆ otIcmp6Type
typedef enum otIcmp6Type otIcmp6Type |
ICMPv6 Message Types.
Enumeration Type Documentation
◆ otIcmp6Code
enum otIcmp6Code |
◆ otIcmp6EchoMode
enum otIcmp6EchoMode |
ICMPv6 Echo Reply Modes.
◆ otIcmp6Type
enum otIcmp6Type |
ICMPv6 Message Types.
Function Documentation
◆ otIcmp6GetEchoMode()
otIcmp6EchoMode otIcmp6GetEchoMode | ( | otInstance * |
aInstance
|
) |
This function indicates whether or not ICMPv6 Echo processing is enabled.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance.
- Return values
-
OT_ICMP6_ECHO_HANDLER_DISABLED
ICMPv6 Echo processing is disabled. OT_ICMP6_ECHO_HANDLER_UNICAST_ONLY
ICMPv6 Echo processing enabled for unicast requests only OT_ICMP6_ECHO_HANDLER_MULTICAST_ONLY
ICMPv6 Echo processing enabled for multicast requests only OT_ICMP6_ECHO_HANDLER_ALL
ICMPv6 Echo processing enabled for unicast and multicast requests
◆ otIcmp6RegisterHandler()
otError otIcmp6RegisterHandler | ( | otInstance * |
aInstance,
|
otIcmp6Handler * |
aHandler
|
||
) |
This function registers a handler to provide received ICMPv6 messages.
- Note
-
A handler structure
aHandler
has to be stored in persistent (static) memory. OpenThread does not make a copy of handler structure.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aHandler
A pointer to a handler containing callback that is called when an ICMPv6 message is received.
◆ otIcmp6SendEchoRequest()
otError otIcmp6SendEchoRequest | ( | otInstance * |
aInstance,
|
otMessage * |
aMessage,
|
||
const otMessageInfo * |
aMessageInfo,
|
||
uint16_t |
aIdentifier
|
||
) |
This function sends an ICMPv6 Echo Request via the Thread interface.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aMessage
A pointer to the message buffer containing the ICMPv6 payload. [in] aMessageInfo
A reference to message information associated with aMessage
.[in] aIdentifier
An identifier to aid in matching Echo Replies to this Echo Request. May be zero.
◆ otIcmp6SetEchoMode()
void otIcmp6SetEchoMode | ( | otInstance * |
aInstance,
|
otIcmp6EchoMode |
aMode
|
||
) |
This function sets whether or not ICMPv6 Echo processing is enabled.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aMode
The ICMPv6 Echo processing mode.