The friendly Operating System for the Internet of Things
ICMPV6

Provides types related to ICMPv6. More...

Detailed Description

See also
RFC 4443

Files

file  icmpv6.h
 ICMPv6 type and function definitions.
 

Data Structures

struct  icmpv6_hdr_t
 General ICMPv6 message format. More...
 
struct  icmpv6_error_dst_unr_t
 Destination unreachable message format. More...
 
struct  icmpv6_error_pkt_too_big_t
 Packet too big message format. More...
 
struct  icmpv6_error_time_exc_t
 Time exceeded message format. More...
 
struct  icmpv6_error_param_prob_t
 Parameter problem message format. More...
 
struct  icmpv6_echo_t
 Echo request and response message format. More...
 

Functions

void icmpv6_hdr_print (icmpv6_hdr_t *hdr)
 Print the given ICMPv6 header to STDOUT. More...
 

Error message types

See also
IANA, ICMPv6 "type" Numbers
#define ICMPV6_DST_UNR   (1)
 Destination unreachable message.
 
#define ICMPV6_PKT_TOO_BIG   (2)
 Packet Too Big message.
 
#define ICMPV6_TIME_EXC   (3)
 Time Exceeded message.
 
#define ICMPV6_PARAM_PROB   (4)
 Parameter Problem message.
 
#define ICMPV6_ERR_EXP1   (100)
 message type for private experimentation
 
#define ICMPV6_ERR_EXP2   (101)
 message type for private experimentation
 

Informational message types

See also
IANA, ICMPv6 "type" Numbers
#define ICMPV6_ECHO_REQ   (128)
 Echo request message (ping)
 
#define ICMPV6_ECHO_REP   (129)
 Echo reply message (pong)
 
#define ICMPV6_RTR_SOL   (133)
 NDP router solicitation message.
 
#define ICMPV6_RTR_ADV   (134)
 NDP router advertisement message.
 
#define ICMPV6_NBR_SOL   (135)
 NDP neighbor solicitation message.
 
#define ICMPV6_NBR_ADV   (136)
 NDP neighbor advertisement message.
 
#define ICMPV6_REDIRECT   (137)
 NDP redirect message.
 
#define ICMPV6_RPL_CTRL   (155)
 RPL control message.
 
#define ICMPV6_DAR   (157)
 Duplicate address request.
 
#define ICMPV6_DAC   (158)
 Duplicate address confirmation.
 
#define ICMPV6_INF_EXP1   (200)
 message type for private experimentation
 
#define ICMPV6_INF_EXP2   (201)
 message type for private experimentation
 

Codes for destination unreachable messages

See also
RFC 4443, section 3.1
#define ICMPV6_ERROR_DST_UNR_NO_ROUTE   (0)
 no route to destination
 
#define ICMPV6_ERROR_DST_UNR_PROHIB   (1)
 communictation with destination administratively prohibited
 
#define ICMPV6_ERROR_DST_UNR_SCOPE   (2)
 beyond scope of source address
 
#define ICMPV6_ERROR_DST_UNR_ADDR   (3)
 address unreachable
 
#define ICMPV6_ERROR_DST_UNR_PORT   (4)
 port unreachable
 
#define ICMPV6_ERROR_DST_UNR_POLICY   (5)
 source address failed ingress/egress policy
 
#define ICMPV6_ERROR_DST_UNR_REJECT   (6)
 reject route to destination
 

Codes for time exceeded messages

See also
RFC 4443, section 3.3
#define ICMPV6_ERROR_TIME_EXC_HL   (0)
 hop limit exceeded in transit
 
#define ICMPV6_ERROR_TIME_EXC_FRAG   (1)
 fragment reassembly time exceeded
 

Codes for parameter problem messages

See also
RFC 4443, section 3.4
#define ICMPV6_ERROR_PARAM_PROB_HDR_FIELD   (0)
 errorneous header field encountered
 
#define ICMPV6_ERROR_PARAM_PROB_NH   (1)
 unrecognized next header field encountered
 
#define ICMPV6_ERROR_PARAM_PROB_OPT   (2)
 unrecognized IPv6 option field encountered
 

Function Documentation

void icmpv6_hdr_print ( icmpv6_hdr_t hdr)
Parameters
[in]hdrICMPv6 header to print