Network Component  Version 7.11.0
MDK Middleware for IPv4 and IPv6 Networking
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
NetICMP6: ICMP6 Control

Events generated by the Network - ICMPv6 Control functions. More...

Functions

__STATIC_INLINE void EvrNetICMP6_ReceiveFrame (const void *icmp6_header)
 Event on ICMP6 receive frame (Op) More...
 
__STATIC_INLINE void EvrNetICMP6_FrameTooShort (uint32_t length, uint32_t min_length)
 Event on ICMP6 receive frame is too short (Error) More...
 
__STATIC_INLINE void EvrNetICMP6_ChecksumFailed (uint32_t length)
 Event on ICMP6 frame checksum check failed (Error) More...
 
__STATIC_INLINE void EvrNetICMP6_EchoRequestWrongCode (uint8_t code, uint8_t code_valid)
 Event on ICMP6 wrong code in echo request received (Error) More...
 
__STATIC_INLINE void EvrNetICMP6_EchoRequestReceived (uint32_t data_length)
 Event on ICMP6 echo request received (Op) More...
 
__STATIC_INLINE void EvrNetICMP6_SendEchoReply (const void *icmp6_header)
 Event on ICMP6 send echo reply (Op) More...
 
__STATIC_INLINE void EvrNetICMP6_EchoReplyReceived (uint32_t data_length)
 Event on ICMP6 echo reply received (Op) More...
 
__STATIC_INLINE void EvrNetICMP6_EchoReplyWrongState (void)
 Event on ICMP6 echo reply received in wrong ping process state (Error) More...
 
__STATIC_INLINE void EvrNetICMP6_EchoReplyWrongCode (uint8_t code, uint8_t code_valid)
 Event on ICMP6 wrong code in echo reply received (Error) More...
 
__STATIC_INLINE void EvrNetICMP6_EchoReplyWrongIpAddress (const uint8_t *ip6_addr)
 Event on ICMP6 wrong source IPv6 address of echo reply (Error) More...
 
__STATIC_INLINE void EvrNetICMP6_EchoReplyWrongId (uint16_t eid, uint16_t eid_valid)
 Event on ICMP6 wrong echo identifier value in echo reply (Error) More...
 
__STATIC_INLINE void EvrNetICMP6_EchoReplyWrongPayload (void)
 Event on ICMP6 echo reply payload data invalid (Error) More...
 
__STATIC_INLINE void EvrNetICMP6_MessageDiscarded (uint8_t type)
 Event on ICMP6 router solicitation message discarded (Op) More...
 
__STATIC_INLINE void EvrNetICMP6_WrongHopLimit (uint8_t hop_limit, uint8_t hop_valid)
 Event on ICMP6 wrong hop limit in discover message (Error) More...
 
__STATIC_INLINE void EvrNetICMP6_WrongCode (uint8_t code, uint8_t code_valid)
 Event on ICMP6 wrong code in discover message (Error) More...
 
__STATIC_INLINE void EvrNetICMP6_MessageTypeUnknown (uint8_t type)
 Event on ICMP6 message type unknown (Op) More...
 
__STATIC_INLINE void EvrNetICMP6_SendFrame (const void *icmp6_header)
 Event on ICMP6 send frame (Op) More...
 
__STATIC_INLINE void EvrNetICMP6_PingEcho (const uint8_t *ip6_addr)
 Event on ICMP6 ping echo request (API) More...
 
__STATIC_INLINE void EvrNetICMP6_PingTargetNotValid (void)
 Event on ICMP6 ping target name not valid (Error) More...
 
__STATIC_INLINE void EvrNetICMP6_PingDnsError (void)
 Event on ICMP6 ping host name resolver error (Error) More...
 
__STATIC_INLINE void EvrNetICMP6_PingInvalidParameter (void)
 Event on ICMP6 ping invalid parameter (Error) More...
 
__STATIC_INLINE void EvrNetICMP6_PingClientBusy (void)
 Event on ICMP6 ping client busy (Error) More...
 
__STATIC_INLINE void EvrNetICMP6_PingSendRequest (void)
 Event on ICMP6 send echo request (Op) More...
 
__STATIC_INLINE void EvrNetICMP6_PingRetransmitRequest (void)
 Event on ICMP6 retransmit echo request (Op) More...
 
__STATIC_INLINE void EvrNetICMP6_PingTimeout (void)
 Event on ICMP6 timeout on send echo request (Op) More...
 

Description

Events generated by the Network - ICMPv6 Control functions.

The Network ICMPv6 Control functions generate events that report events in the Internet Control Message Protocol version 6 and help in troubleshooting.

Function Documentation

__STATIC_INLINE void EvrNetICMP6_ChecksumFailed ( uint32_t  length)

Event on ICMP6 frame checksum check failed (Error)

Parameters
lengthframe length in bytes

The event ChecksumFailed is created when the network library has checked the checksum on the received ICMPv6 frame and the verification failed. The ICMPv6 frame is therefore discarded.

Value in the Event Recorder shows:

  • len: length of the ICMPv6 frame in bytes.
__STATIC_INLINE void EvrNetICMP6_EchoReplyReceived ( uint32_t  data_length)

Event on ICMP6 echo reply received (Op)

Parameters
data_lengthlength of the payload data

The event EchoReplyReceived is created when the network library receives a valid ICMPv6 echo reply.

Value in the Event Recorder shows:

  • len: length of the echo reply payload in bytes.
__STATIC_INLINE void EvrNetICMP6_EchoReplyWrongCode ( uint8_t  code,
uint8_t  code_valid 
)

Event on ICMP6 wrong code in echo reply received (Error)

Parameters
codereceived ICMPv6 code
code_validvalid ICMPv6 code

The event EchoReplyWrongCode is created when the network library receives the ICMPv6 echo reply, but the code byte is invalid. The ICMPv6 frame is therefore discarded.

Value in the Event Recorder shows:

  • code: received ICMPv6 code.
  • valid: expected ICMPv6 code.
__STATIC_INLINE void EvrNetICMP6_EchoReplyWrongId ( uint16_t  eid,
uint16_t  eid_valid 
)

Event on ICMP6 wrong echo identifier value in echo reply (Error)

Parameters
eidreceived echo identifier
eid_validvalid echo identifier

The event EchoReplyWrongId is created when the network library receives the ICMPv6 echo reply, but the echo identifier is not identical to the identifier that was sent in echo request. The ICMPv6 frame is therefore discarded.

Value in the Event Recorder shows:

  • eid: received echo identifier.
  • valid: expected echo identifier.
__STATIC_INLINE void EvrNetICMP6_EchoReplyWrongIpAddress ( const uint8_t *  ip6_addr)

Event on ICMP6 wrong source IPv6 address of echo reply (Error)

Parameters
ip6_addrpointer to IPv6 address

The event EchoReplyWrongIpAddress is created when the network library receives an echo reply that came from another IPv6 address instead of the address to which the echo request was sent. The echo reply is therefore discarded.

Value in the Event Recorder shows:

  • ip: IPv6 address of the host that responded.
__STATIC_INLINE void EvrNetICMP6_EchoReplyWrongPayload ( void  )

Event on ICMP6 echo reply payload data invalid (Error)

The event EchoReplyWrongPayload is created when the network library receives the ICMPv6 echo reply, but the data on the payload is not identical to the data that was sent in echo request. The ICMPv6 frame is therefore discarded.

Value in the Event Recorder shows:

  • error
__STATIC_INLINE void EvrNetICMP6_EchoReplyWrongState ( void  )

Event on ICMP6 echo reply received in wrong ping process state (Error)

The event EchoReplyWrongState is created when the network library receives an ICMPv6 echo reply, but the ping process is idle. This means that the network library does not wait for the echo reply. The echo reply is therefore discarded.

Value in the Event Recorder shows:

  • error
__STATIC_INLINE void EvrNetICMP6_EchoRequestReceived ( uint32_t  data_length)

Event on ICMP6 echo request received (Op)

Parameters
data_lengthlength of the payload data

The event EchoRequestReceived is created when the network library receives a valid ICMPv6 echo request.

Value in the Event Recorder shows:

  • len: length of the echo request payload in bytes.
__STATIC_INLINE void EvrNetICMP6_EchoRequestWrongCode ( uint8_t  code,
uint8_t  code_valid 
)

Event on ICMP6 wrong code in echo request received (Error)

Parameters
codereceived ICMPv6 code
code_validvalid ICMPv6 code

The event EchoRequestWrongCode is created when the network library receives the ICMPv6 echo request, but the code byte is invalid. The ICMPv6 frame is therefore discarded.

Value in the Event Recorder shows:

  • code: received ICMPv6 code.
  • valid: expected ICMPv6 code.
__STATIC_INLINE void EvrNetICMP6_FrameTooShort ( uint32_t  length,
uint32_t  min_length 
)

Event on ICMP6 receive frame is too short (Error)

Parameters
lengthframe length in bytes
min_lengthminimum length of the frame

The event FrameTooShort is created when the network library receives the ICMPv6 frame that is too short. The frame is discarded.

Value in the Event Recorder shows:

  • len: length of the received frame in bytes.
  • min: minimum valid frame length in bytes.
__STATIC_INLINE void EvrNetICMP6_MessageDiscarded ( uint8_t  type)

Event on ICMP6 router solicitation message discarded (Op)

Parameters
typeICMPv6 message type
Remarks
Hosts must silently discard RS messages [RFC4861 page 38]

The event MessageDiscarded is created when the network library receives the ICMPv6 frame with a message type, that must silently be discarded. For example IPv6 hosts must silently discard Router Solicitation messages.

Value in the Event Recorder shows:

  • type: ICMPv6 message type (ROUTER_SOL).
__STATIC_INLINE void EvrNetICMP6_MessageTypeUnknown ( uint8_t  type)

Event on ICMP6 message type unknown (Op)

Parameters
typeICMP6 message type

The event MessageTypeUnknown is created when the network library receives the ICMPv6 frame, but the type of message is not supported. The ICMPv6 frame is therefore discarded.

Value in the Event Recorder shows:

  • type: unknown ICMPv6 message type.
__STATIC_INLINE void EvrNetICMP6_PingClientBusy ( void  )

Event on ICMP6 ping client busy (Error)

The event PingClientBusy is created when the function netPing_Echo is executed, and the internal ping process is still busy.

Value in the Event Recorder shows:

  • error
__STATIC_INLINE void EvrNetICMP6_PingDnsError ( void  )

Event on ICMP6 ping host name resolver error (Error)

The event PingDnsError is created when the function netPing_EchoX is executed, and the internal DNS resolver failed.

Value in the Event Recorder shows:

  • error
__STATIC_INLINE void EvrNetICMP6_PingEcho ( const uint8_t *  ip6_addr)

Event on ICMP6 ping echo request (API)

Parameters
ip6_addrpointer to IPv6 address

The event PingEcho is created when the functions netPing_Echo or netPing_EchoX are executed.

Value in the Event Recorder shows:

  • ip: target IPv6 address.
__STATIC_INLINE void EvrNetICMP6_PingInvalidParameter ( void  )

Event on ICMP6 ping invalid parameter (Error)

The event PingInvalidParameter is created when the function netPing_Echo is executed, and the function input parameter is invalid.

Value in the Event Recorder shows:

  • error
__STATIC_INLINE void EvrNetICMP6_PingRetransmitRequest ( void  )

Event on ICMP6 retransmit echo request (Op)

The event PingRetransmitRequest is created when the network library wants to retransmit an ICMPv6 echo request because the target host is not responding.

Value in the Event Recorder shows:

  • resend
__STATIC_INLINE void EvrNetICMP6_PingSendRequest ( void  )

Event on ICMP6 send echo request (Op)

The event PingSendRequest is created when the network library wants to send an ICMPv6 echo request.

Value in the Event Recorder shows:

  • send
__STATIC_INLINE void EvrNetICMP6_PingTargetNotValid ( void  )

Event on ICMP6 ping target name not valid (Error)

The event PingTargetNotValid is created when the function netPing_EchoX is executed, and the target name is invalid and can not be resolved.

Value in the Event Recorder shows:

  • error
__STATIC_INLINE void EvrNetICMP6_PingTimeout ( void  )

Event on ICMP6 timeout on send echo request (Op)

The event PingTimeout is created when the network library has left the internal ping process because the target host is not responding.

Value in the Event Recorder shows:

  • timeout
__STATIC_INLINE void EvrNetICMP6_ReceiveFrame ( const void *  icmp6_header)

Event on ICMP6 receive frame (Op)

Parameters
icmp6_headerpointer to ICMP6 frame header of 8 bytes
  • Type (1 byte)
  • Code (1 byte)
  • Chksum (2 bytes)
  • EchoId (2 bytes)
  • EchoSeq (2 bytes)

The event ReceiveFrame is created when the network library receives the ICMPv6 frame. This event displays detailed information about the ICMPv6 protocol header.

Value in the Event Recorder shows:

  • type: Type of message (ECHO_REQUEST, ECHO_REPLY, MCAST_QUERY, MCAST_REPORT, MCAST_DONE, ROUTER_SOL, ROUTER_ADVER, NEIGHB_SOL, NEIGHB_ADVER, InvNEIGHB_SOL, InvNEIGHB_ADVER).
  • code: Message code byte.
  • cksum: Checksum of ICMPv6 frame.
__STATIC_INLINE void EvrNetICMP6_SendEchoReply ( const void *  icmp6_header)

Event on ICMP6 send echo reply (Op)

Parameters
icmp6_headerpointer to ICMP6 frame header of 8 bytes
  • Type (1 byte)
  • Code (1 byte)
  • Chksum (2 bytes)
  • EchoId (2 bytes)
  • EchoSeq (2 bytes)

The event SendEchoReply is created when the network library wants to send an ICMPv6 echo reply. This event displays detailed information about the ICMPv6 protocol header.

Value in the Event Recorder shows:

  • type: Type of message (ECHO_REPLY).
  • code: Message code byte.
  • cksum: Checksum of ICMPv6 frame.
__STATIC_INLINE void EvrNetICMP6_SendFrame ( const void *  icmp6_header)

Event on ICMP6 send frame (Op)

Parameters
icmp6_headerpointer to ICMP6 frame header of 8 bytes
  • Type (1 byte)
  • Code (1 byte)
  • Chksum (2 bytes)
  • EchoId (2 bytes)
  • EchoSeq (2 bytes)

The event SendFrame is created when the network library wants to send an ICMPv6 frame. This event displays detailed information about the ICMPv6 protocol header.

Value in the Event Recorder shows:

  • type: Type of message (ECHO_REQUEST, NEIGHB_SOL, NEIGHB_ADVER, ROUTER_SOL).
  • code: Message code byte.
  • cksum: Checksum of ICMPv6 frame.
__STATIC_INLINE void EvrNetICMP6_WrongCode ( uint8_t  code,
uint8_t  code_valid 
)

Event on ICMP6 wrong code in discover message (Error)

Parameters
codereceived ICMPv6 code
code_validvalid ICMPv6 code

The event WrongCode is created when the network library receives the ICMPv6 discovery frame, but the code byte is invalid. The ICMPv6 frame is therefore discarded.

Value in the Event Recorder shows:

  • code: received ICMPv6 code.
  • valid: expected ICMPv6 code.
__STATIC_INLINE void EvrNetICMP6_WrongHopLimit ( uint8_t  hop_limit,
uint8_t  hop_valid 
)

Event on ICMP6 wrong hop limit in discover message (Error)

Parameters
hop_limitreceived hop limit
hop_validvalid hop limit

The event WrongHopLimit is created when the network library receives the ICMPv6 discovery frame, but the IPv6 hop limit is invalid. The ICMPv6 frame is therefore discarded.

Value in the Event Recorder shows:

  • hop_limit: received IPv6 hop limit.
  • valid: expected IPv6 hop limit.