ICMPV6

Provides types related to ICMPv6. More...

Detailed Description

Provides types related to ICMPv6.

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. More...
 
#define ICMPV6_PKT_TOO_BIG   (2)
 Packet Too Big message. More...
 
#define ICMPV6_TIME_EXC   (3)
 Time Exceeded message. More...
 
#define ICMPV6_PARAM_PROB   (4)
 Parameter Problem message. More...
 
#define ICMPV6_ERR_EXP1   (100)
 message type for private experimentation More...
 
#define ICMPV6_ERR_EXP2   (101)
 message type for private experimentation More...
 

Informational message types

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

Codes for destination unreachable messages

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

Codes for time exceeded messages

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

Codes for parameter problem messages

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

Macro Definition Documentation

◆ ICMPV6_DAC

#define ICMPV6_DAC   (158)

Duplicate address confirmation.

Definition at line 67 of file icmpv6.h.

◆ ICMPV6_DAR

#define ICMPV6_DAR   (157)

Duplicate address request.

Definition at line 66 of file icmpv6.h.

◆ ICMPV6_DST_UNR

#define ICMPV6_DST_UNR   (1)

Destination unreachable message.

Definition at line 41 of file icmpv6.h.

◆ ICMPV6_ECHO_REP

#define ICMPV6_ECHO_REP   (129)

Echo reply message (pong)

Definition at line 59 of file icmpv6.h.

◆ ICMPV6_ECHO_REQ

#define ICMPV6_ECHO_REQ   (128)

Echo request message (ping)

Definition at line 58 of file icmpv6.h.

◆ ICMPV6_ERR_EXP1

#define ICMPV6_ERR_EXP1   (100)

message type for private experimentation

Definition at line 45 of file icmpv6.h.

◆ ICMPV6_ERR_EXP2

#define ICMPV6_ERR_EXP2   (101)

message type for private experimentation

Definition at line 46 of file icmpv6.h.

◆ ICMPV6_ERROR_DST_UNR_ADDR

#define ICMPV6_ERROR_DST_UNR_ADDR   (3)

address unreachable

Definition at line 88 of file icmpv6.h.

◆ ICMPV6_ERROR_DST_UNR_NO_ROUTE

#define ICMPV6_ERROR_DST_UNR_NO_ROUTE   (0)

no route to destination

Definition at line 83 of file icmpv6.h.

◆ ICMPV6_ERROR_DST_UNR_POLICY

#define ICMPV6_ERROR_DST_UNR_POLICY   (5)

source address failed ingress/egress policy

Definition at line 91 of file icmpv6.h.

◆ ICMPV6_ERROR_DST_UNR_PORT

#define ICMPV6_ERROR_DST_UNR_PORT   (4)

port unreachable

Definition at line 89 of file icmpv6.h.

◆ ICMPV6_ERROR_DST_UNR_PROHIB

#define ICMPV6_ERROR_DST_UNR_PROHIB   (1)

communication with destination administratively prohibited

Definition at line 86 of file icmpv6.h.

◆ ICMPV6_ERROR_DST_UNR_REJECT

#define ICMPV6_ERROR_DST_UNR_REJECT   (6)

reject route to destination

Definition at line 92 of file icmpv6.h.

◆ ICMPV6_ERROR_DST_UNR_SCOPE

#define ICMPV6_ERROR_DST_UNR_SCOPE   (2)

beyond scope of source address

Definition at line 87 of file icmpv6.h.

◆ ICMPV6_ERROR_PARAM_PROB_HDR_FIELD

#define ICMPV6_ERROR_PARAM_PROB_HDR_FIELD   (0)

erroneous header field encountered

Definition at line 122 of file icmpv6.h.

◆ ICMPV6_ERROR_PARAM_PROB_NH

#define ICMPV6_ERROR_PARAM_PROB_NH   (1)

unrecognized next header field encountered

Definition at line 124 of file icmpv6.h.

◆ ICMPV6_ERROR_PARAM_PROB_OPT

#define ICMPV6_ERROR_PARAM_PROB_OPT   (2)

unrecognized IPv6 option field encountered

Definition at line 126 of file icmpv6.h.

◆ ICMPV6_ERROR_TIME_EXC_FRAG

#define ICMPV6_ERROR_TIME_EXC_FRAG   (1)

fragment reassembly time exceeded

Definition at line 107 of file icmpv6.h.

◆ ICMPV6_ERROR_TIME_EXC_HL

#define ICMPV6_ERROR_TIME_EXC_HL   (0)

hop limit exceeded in transit

Definition at line 106 of file icmpv6.h.

◆ ICMPV6_INF_EXP1

#define ICMPV6_INF_EXP1   (200)

message type for private experimentation

Definition at line 68 of file icmpv6.h.

◆ ICMPV6_INF_EXP2

#define ICMPV6_INF_EXP2   (201)

message type for private experimentation

Definition at line 69 of file icmpv6.h.

◆ ICMPV6_NBR_ADV

#define ICMPV6_NBR_ADV   (136)

NDP neighbor advertisement message.

Definition at line 63 of file icmpv6.h.

◆ ICMPV6_NBR_SOL

#define ICMPV6_NBR_SOL   (135)

NDP neighbor solicitation message.

Definition at line 62 of file icmpv6.h.

◆ ICMPV6_PARAM_PROB

#define ICMPV6_PARAM_PROB   (4)

Parameter Problem message.

Definition at line 44 of file icmpv6.h.

◆ ICMPV6_PKT_TOO_BIG

#define ICMPV6_PKT_TOO_BIG   (2)

Packet Too Big message.

Definition at line 42 of file icmpv6.h.

◆ ICMPV6_REDIRECT

#define ICMPV6_REDIRECT   (137)

NDP redirect message.

Definition at line 64 of file icmpv6.h.

◆ ICMPV6_RPL_CTRL

#define ICMPV6_RPL_CTRL   (155)

RPL control message.

Definition at line 65 of file icmpv6.h.

◆ ICMPV6_RTR_ADV

#define ICMPV6_RTR_ADV   (134)

NDP router advertisement message.

Definition at line 61 of file icmpv6.h.

◆ ICMPV6_RTR_SOL

#define ICMPV6_RTR_SOL   (133)

NDP router solicitation message.

Definition at line 60 of file icmpv6.h.

◆ ICMPV6_TIME_EXC

#define ICMPV6_TIME_EXC   (3)

Time Exceeded message.

Definition at line 43 of file icmpv6.h.

Function Documentation

◆ icmpv6_hdr_print()

void icmpv6_hdr_print ( icmpv6_hdr_t hdr)

Print the given ICMPv6 header to STDOUT.

Parameters
[in]hdrICMPv6 header to print