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

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