Loading...
Searching...
No Matches
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.
 

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)
 communication 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)
 erroneous 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
 

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