icmpv6.h File Reference

ICMPv6 type and function definitions. More...

Detailed Description

ICMPv6 type and function definitions.

Author
Martine Lenders mlend.nosp@m.ers@.nosp@m.inf.f.nosp@m.u-be.nosp@m.rlin..nosp@m.de

Definition in file icmpv6.h.

#include <stdint.h>
#include "byteorder.h"
+ Include dependency graph for icmpv6.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

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...