lwIP 2.2.1 Lightweight IP stack

Data Structures | Enumerations
icmp6.h File Reference
`#include "lwip/arch.h"`
`#include "arch/bpstruct.h"`
`#include "arch/epstruct.h"`

## Data Structures
struct | icmp6_hdr
struct | icmp6_echo_hdr

## Enumerations
enum | icmp6_type { ICMP6_TYPE_DUR = 1, ICMP6_TYPE_PTB = 2, ICMP6_TYPE_TE = 3, ICMP6_TYPE_PP = 4, ICMP6_TYPE_PE1 = 100, ICMP6_TYPE_PE2 = 101, ICMP6_TYPE_RSV_ERR = 127, ICMP6_TYPE_EREQ = 128, ICMP6_TYPE_EREP = 129, ICMP6_TYPE_MLQ = 130, ICMP6_TYPE_MLR = 131, ICMP6_TYPE_MLD = 132, ICMP6_TYPE_RS = 133, ICMP6_TYPE_RA = 134, ICMP6_TYPE_NS = 135, ICMP6_TYPE_NA = 136, ICMP6_TYPE_RD = 137, ICMP6_TYPE_MRA = 151, ICMP6_TYPE_MRS = 152, ICMP6_TYPE_MRT = 153, ICMP6_TYPE_PE3 = 200, ICMP6_TYPE_PE4 = 201, ICMP6_TYPE_RSV_INF = 255 }
enum | icmp6_dur_code { ICMP6_DUR_NO_ROUTE = 0, ICMP6_DUR_PROHIBITED = 1, ICMP6_DUR_SCOPE = 2, ICMP6_DUR_ADDRESS = 3, ICMP6_DUR_PORT = 4, ICMP6_DUR_POLICY = 5, ICMP6_DUR_REJECT_ROUTE = 6 }
enum | icmp6_te_code { ICMP6_TE_HL = 0, ICMP6_TE_FRAG = 1 }
enum | icmp6_pp_code { ICMP6_PP_FIELD = 0, ICMP6_PP_HEADER = 1, ICMP6_PP_OPTION = 2 }

## Detailed Description

ICMP6 protocol definitions

## Enumeration Type Documentation

## ◆ icmp6_dur_code

enum icmp6_dur_code

ICMP destination unreachable codes

Enumerator
ICMP6_DUR_NO_ROUTE | No route to destination
ICMP6_DUR_PROHIBITED | Communication with destination administratively prohibited
ICMP6_DUR_SCOPE | Beyond scope of source address
ICMP6_DUR_ADDRESS | Address unreachable
ICMP6_DUR_PORT | Port unreachable
ICMP6_DUR_POLICY | Source address failed ingress/egress policy
ICMP6_DUR_REJECT_ROUTE | Reject route to destination

## ◆ icmp6_pp_code

enum icmp6_pp_code

ICMP parameter code

Enumerator
ICMP6_PP_FIELD | Erroneous header field encountered
ICMP6_PP_HEADER | Unrecognized next header type encountered
ICMP6_PP_OPTION | Unrecognized IPv6 option encountered

## ◆ icmp6_te_code

enum icmp6_te_code

ICMP time exceeded codes

Enumerator
ICMP6_TE_HL | Hop limit exceeded in transit
ICMP6_TE_FRAG | Fragment reassembly time exceeded

## ◆ icmp6_type

enum icmp6_type

ICMP type

Enumerator
ICMP6_TYPE_DUR | Destination unreachable
ICMP6_TYPE_PTB | Packet too big
ICMP6_TYPE_TE | Time exceeded
ICMP6_TYPE_PP | Parameter problem
ICMP6_TYPE_PE1 | Private experimentation
ICMP6_TYPE_PE2 | Private experimentation
ICMP6_TYPE_RSV_ERR | Reserved for expansion of error messages
ICMP6_TYPE_EREQ | Echo request
ICMP6_TYPE_EREP | Echo reply
ICMP6_TYPE_MLQ | Multicast listener query
ICMP6_TYPE_MLR | Multicast listener report
ICMP6_TYPE_MLD | Multicast listener done
ICMP6_TYPE_RS | Router solicitation
ICMP6_TYPE_RA | Router advertisement
ICMP6_TYPE_NS | Neighbor solicitation
ICMP6_TYPE_NA | Neighbor advertisement
ICMP6_TYPE_RD | Redirect
ICMP6_TYPE_MRA | Multicast router advertisement
ICMP6_TYPE_MRS | Multicast router solicitation
ICMP6_TYPE_MRT | Multicast router termination
ICMP6_TYPE_PE3 | Private experimentation
ICMP6_TYPE_PE4 | Private experimentation
ICMP6_TYPE_RSV_INF | Reserved for expansion of informational messages