Network Component  Version 7.13.1
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 (uint16_t if_id, uint32_t length)
 Event on ICMP6 receive frame (Op) More...
 
__STATIC_INLINE void EvrNetICMP6_ShowFrameHeader (const void *icmp6_header)
 Event on ICMP6 display send/receive frame header (Detail) More...
 
__STATIC_INLINE void EvrNetICMP6_FrameTooShort (uint16_t if_id, uint32_t length, uint32_t min_length)
 Event on ICMP6 receive frame is too short (Error) More...
 
__STATIC_INLINE void EvrNetICMP6_ChecksumFailed (uint16_t if_id, uint32_t length)
 Event on ICMP6 frame checksum check failed (Error) More...
 
__STATIC_INLINE void EvrNetICMP6_EchoRequestWrongCode (uint16_t if_id, uint8_t code, uint8_t code_valid)
 Event on ICMP6 wrong code in echo request received (Error) More...
 
__STATIC_INLINE void EvrNetICMP6_EchoRequestReceived (uint16_t if_id, uint32_t data_length)
 Event on ICMP6 echo request received (Op) More...
 
__STATIC_INLINE void EvrNetICMP6_SendEchoReply (uint16_t if_id)
 Event on ICMP6 send echo reply (Op) More...
 
__STATIC_INLINE void EvrNetICMP6_EchoReplyReceived (uint16_t if_id, uint32_t data_length)
 Event on ICMP6 echo reply received (Op) More...
 
__STATIC_INLINE void EvrNetICMP6_EchoReplyWrongState (uint16_t if_id)
 Event on ICMP6 echo reply received in wrong ping process state (Error) More...
 
__STATIC_INLINE void EvrNetICMP6_EchoReplyWrongCode (uint16_t if_id, uint8_t code, uint8_t code_valid)
 Event on ICMP6 wrong code in echo reply received (Error) More...
 
__STATIC_INLINE void EvrNetICMP6_EchoReplyWrongIpAddress (uint16_t if_id, const uint8_t *ip6_addr)
 Event on ICMP6 wrong source IPv6 address of echo reply (Error) More...
 
__STATIC_INLINE void EvrNetICMP6_EchoReplyWrongId (uint16_t if_id, uint16_t eid, uint16_t eid_valid)
 Event on ICMP6 wrong echo identifier value in echo reply (Error) More...
 
__STATIC_INLINE void EvrNetICMP6_EchoReplyWrongPayload (uint16_t if_id)
 Event on ICMP6 echo reply payload data invalid (Error) More...
 
__STATIC_INLINE void EvrNetICMP6_MessageDiscarded (uint16_t if_id, uint8_t type)
 Event on ICMP6 router solicitation message discarded (Op) More...
 
__STATIC_INLINE void EvrNetICMP6_WrongHopLimit (uint16_t if_id, uint8_t hop_limit, uint8_t hop_valid)
 Event on ICMP6 wrong hop limit in discover message (Error) More...
 
__STATIC_INLINE void EvrNetICMP6_WrongCode (uint16_t if_id, uint8_t code, uint8_t code_valid)
 Event on ICMP6 wrong code in discover message (Error) More...
 
__STATIC_INLINE void EvrNetICMP6_MessageTypeUnknown (uint16_t if_id, uint8_t type)
 Event on ICMP6 message type unknown (Op) More...
 
__STATIC_INLINE void EvrNetICMP6_SendFrame (uint16_t if_id, uint32_t length)
 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 ( uint16_t  if_id,
uint32_t  length 
)

Event on ICMP6 frame checksum check failed (Error)

Parameters
if_idnetwork interface identifier
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:

  • netif: network interface identifier.
  • len: length of the ICMPv6 frame in bytes.
__STATIC_INLINE void EvrNetICMP6_EchoReplyReceived ( uint16_t  if_id,
uint32_t  data_length 
)

Event on ICMP6 echo reply received (Op)

Parameters
if_idnetwork interface identifier
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:

  • netif: network interface identifier.
  • len: length of the echo reply payload in bytes.
__STATIC_INLINE void EvrNetICMP6_EchoReplyWrongCode ( uint16_t  if_id,
uint8_t  code,
uint8_t  code_valid 
)

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

Parameters
if_idnetwork interface identifier
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:

  • netif: network interface identifier.
  • code: received ICMPv6 code.
  • valid: expected ICMPv6 code.
__STATIC_INLINE void EvrNetICMP6_EchoReplyWrongId ( uint16_t  if_id,
uint16_t  eid,
uint16_t  eid_valid 
)

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

Parameters
if_idnetwork interface identifier
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:

  • netif: network interface identifier.
  • eid: received echo identifier.
  • valid: expected echo identifier.
__STATIC_INLINE void EvrNetICMP6_EchoReplyWrongIpAddress ( uint16_t  if_id,
const uint8_t *  ip6_addr 
)

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

Parameters
if_idnetwork interface identifier
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:

  • netif: network interface identifier.
  • ip: IPv6 address of the host that responded.
__STATIC_INLINE void EvrNetICMP6_EchoReplyWrongPayload ( uint16_t  if_id)

Event on ICMP6 echo reply payload data invalid (Error)

Parameters
if_idnetwork interface identifier

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:

  • netif: network interface identifier.
__STATIC_INLINE void EvrNetICMP6_EchoReplyWrongState ( uint16_t  if_id)

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

Parameters
if_idnetwork interface identifier

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:

  • netif: network interface identifier.
__STATIC_INLINE void EvrNetICMP6_EchoRequestReceived ( uint16_t  if_id,
uint32_t  data_length 
)

Event on ICMP6 echo request received (Op)

Parameters
if_idnetwork interface identifier
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:

  • netif: network interface identifier.
  • len: length of the echo request payload in bytes.
__STATIC_INLINE void EvrNetICMP6_EchoRequestWrongCode ( uint16_t  if_id,
uint8_t  code,
uint8_t  code_valid 
)

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

Parameters
if_idnetwork interface identifier
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:

  • netif: network interface identifier.
  • code: received ICMPv6 code.
  • valid: expected ICMPv6 code.
__STATIC_INLINE void EvrNetICMP6_FrameTooShort ( uint16_t  if_id,
uint32_t  length,
uint32_t  min_length 
)

Event on ICMP6 receive frame is too short (Error)

Parameters
if_idnetwork interface identifier
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:

  • netif: network interface identifier.
  • len: length of the received frame in bytes.
  • min: minimum valid frame length in bytes.
__STATIC_INLINE void EvrNetICMP6_MessageDiscarded ( uint16_t  if_id,
uint8_t  type 
)

Event on ICMP6 router solicitation message discarded (Op)

Parameters
if_idnetwork interface identifier
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:

  • netif: network interface identifier.
  • type: ICMPv6 message type (ROUTER_SOL).
__STATIC_INLINE void EvrNetICMP6_MessageTypeUnknown ( uint16_t  if_id,
uint8_t  type 
)

Event on ICMP6 message type unknown (Op)

Parameters
if_idnetwork interface identifier
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:

  • netif: network interface identifier.
__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 ( uint16_t  if_id,
uint32_t  length 
)

Event on ICMP6 receive frame (Op)

Parameters
if_idnetwork interface identifier
lengthframe length in bytes

The event ReceiveFrame is created when the network library receives the ICMPv6 frame.

Value in the Event Recorder shows:

  • netif: network interface identifier.
  • len: length of the received frame in bytes.
__STATIC_INLINE void EvrNetICMP6_SendEchoReply ( uint16_t  if_id)

Event on ICMP6 send echo reply (Op)

Parameters
if_idnetwork interface identifier

The event SendEchoReply is created when the network library wants to send an ICMPv6 echo reply.

Value in the Event Recorder shows:

  • netif: network interface identifier.
__STATIC_INLINE void EvrNetICMP6_SendFrame ( uint16_t  if_id,
uint32_t  length 
)

Event on ICMP6 send frame (Op)

Parameters
if_idnetwork interface identifier
lengthframe length in bytes

The event SendFrame is created when the network library wants to send an ICMPv6 frame.

Value in the Event Recorder shows:

  • netif: network interface identifier.
  • len: length of the frame in bytes.
__STATIC_INLINE void EvrNetICMP6_ShowFrameHeader ( const void *  icmp6_header)

Event on ICMP6 display send/receive frame header (Detail)

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 ShowFrameHeader is created when the network library wants to display detailed information about the ICMPv6 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_WrongCode ( uint16_t  if_id,
uint8_t  code,
uint8_t  code_valid 
)

Event on ICMP6 wrong code in discover message (Error)

Parameters
if_idnetwork interface identifier
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:

  • netif: network interface identifier.
  • code: received ICMPv6 code.
  • valid: expected ICMPv6 code.
__STATIC_INLINE void EvrNetICMP6_WrongHopLimit ( uint16_t  if_id,
uint8_t  hop_limit,
uint8_t  hop_valid 
)

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

Parameters
if_idnetwork interface identifier
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:

  • netif: network interface identifier.
  • hop_limit: received IPv6 hop limit.
  • valid: expected IPv6 hop limit.