mirror of
https://github.com/lwip-tcpip/lwip.git
synced 2025-01-29 00:32:51 +00:00
Move ICMP6 protocol constants to include/lwip/prot/icmp6
This commit is contained in:
parent
80a24c0399
commit
e8e853f2cb
@ -45,99 +45,12 @@
|
|||||||
#include "lwip/pbuf.h"
|
#include "lwip/pbuf.h"
|
||||||
#include "lwip/ip6_addr.h"
|
#include "lwip/ip6_addr.h"
|
||||||
#include "lwip/netif.h"
|
#include "lwip/netif.h"
|
||||||
|
#include "lwip/prot/icmp6.h"
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/** ICMP type */
|
|
||||||
enum icmp6_type {
|
|
||||||
/** Destination unreachable */
|
|
||||||
ICMP6_TYPE_DUR = 1,
|
|
||||||
/** Packet too big */
|
|
||||||
ICMP6_TYPE_PTB = 2,
|
|
||||||
/** Time exceeded */
|
|
||||||
ICMP6_TYPE_TE = 3,
|
|
||||||
/** Parameter problem */
|
|
||||||
ICMP6_TYPE_PP = 4,
|
|
||||||
/** Private experimentation */
|
|
||||||
ICMP6_TYPE_PE1 = 100,
|
|
||||||
/** Private experimentation */
|
|
||||||
ICMP6_TYPE_PE2 = 101,
|
|
||||||
/** Reserved for expansion of error messages */
|
|
||||||
ICMP6_TYPE_RSV_ERR = 127,
|
|
||||||
|
|
||||||
/** Echo request */
|
|
||||||
ICMP6_TYPE_EREQ = 128,
|
|
||||||
/** Echo reply */
|
|
||||||
ICMP6_TYPE_EREP = 129,
|
|
||||||
/** Multicast listener query */
|
|
||||||
ICMP6_TYPE_MLQ = 130,
|
|
||||||
/** Multicast listener report */
|
|
||||||
ICMP6_TYPE_MLR = 131,
|
|
||||||
/** Multicast listener done */
|
|
||||||
ICMP6_TYPE_MLD = 132,
|
|
||||||
/** Router solicitation */
|
|
||||||
ICMP6_TYPE_RS = 133,
|
|
||||||
/** Router advertisement */
|
|
||||||
ICMP6_TYPE_RA = 134,
|
|
||||||
/** Neighbor solicitation */
|
|
||||||
ICMP6_TYPE_NS = 135,
|
|
||||||
/** Neighbor advertisement */
|
|
||||||
ICMP6_TYPE_NA = 136,
|
|
||||||
/** Redirect */
|
|
||||||
ICMP6_TYPE_RD = 137,
|
|
||||||
/** Multicast router advertisement */
|
|
||||||
ICMP6_TYPE_MRA = 151,
|
|
||||||
/** Multicast router solicitation */
|
|
||||||
ICMP6_TYPE_MRS = 152,
|
|
||||||
/** Multicast router termination */
|
|
||||||
ICMP6_TYPE_MRT = 153,
|
|
||||||
/** Private experimentation */
|
|
||||||
ICMP6_TYPE_PE3 = 200,
|
|
||||||
/** Private experimentation */
|
|
||||||
ICMP6_TYPE_PE4 = 201,
|
|
||||||
/** Reserved for expansion of informational messages */
|
|
||||||
ICMP6_TYPE_RSV_INF = 255
|
|
||||||
};
|
|
||||||
|
|
||||||
/** ICMP destination unreachable codes */
|
|
||||||
enum icmp6_dur_code {
|
|
||||||
/** No route to destination */
|
|
||||||
ICMP6_DUR_NO_ROUTE = 0,
|
|
||||||
/** Communication with destination administratively prohibited */
|
|
||||||
ICMP6_DUR_PROHIBITED = 1,
|
|
||||||
/** Beyond scope of source address */
|
|
||||||
ICMP6_DUR_SCOPE = 2,
|
|
||||||
/** Address unreachable */
|
|
||||||
ICMP6_DUR_ADDRESS = 3,
|
|
||||||
/** Port unreachable */
|
|
||||||
ICMP6_DUR_PORT = 4,
|
|
||||||
/** Source address failed ingress/egress policy */
|
|
||||||
ICMP6_DUR_POLICY = 5,
|
|
||||||
/** Reject route to destination */
|
|
||||||
ICMP6_DUR_REJECT_ROUTE = 6
|
|
||||||
};
|
|
||||||
|
|
||||||
/** ICMP time exceeded codes */
|
|
||||||
enum icmp6_te_code {
|
|
||||||
/** Hop limit exceeded in transit */
|
|
||||||
ICMP6_TE_HL = 0,
|
|
||||||
/** Fragment reassembly time exceeded */
|
|
||||||
ICMP6_TE_FRAG = 1
|
|
||||||
};
|
|
||||||
|
|
||||||
/** ICMP parameter code */
|
|
||||||
enum icmp6_pp_code {
|
|
||||||
/** Erroneous header field encountered */
|
|
||||||
ICMP6_PP_FIELD = 0,
|
|
||||||
/** Unrecognized next header type encountered */
|
|
||||||
ICMP6_PP_HEADER = 1,
|
|
||||||
/** Unrecognized IPv6 option encountered */
|
|
||||||
ICMP6_PP_OPTION = 2
|
|
||||||
};
|
|
||||||
|
|
||||||
#if LWIP_ICMP6 && LWIP_IPV6 /* don't build if not configured for use in lwipopts.h */
|
#if LWIP_ICMP6 && LWIP_IPV6 /* don't build if not configured for use in lwipopts.h */
|
||||||
|
|
||||||
void icmp6_input(struct pbuf *p, struct netif *inp);
|
void icmp6_input(struct pbuf *p, struct netif *inp);
|
||||||
|
@ -43,6 +43,93 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/** ICMP type */
|
||||||
|
enum icmp6_type {
|
||||||
|
/** Destination unreachable */
|
||||||
|
ICMP6_TYPE_DUR = 1,
|
||||||
|
/** Packet too big */
|
||||||
|
ICMP6_TYPE_PTB = 2,
|
||||||
|
/** Time exceeded */
|
||||||
|
ICMP6_TYPE_TE = 3,
|
||||||
|
/** Parameter problem */
|
||||||
|
ICMP6_TYPE_PP = 4,
|
||||||
|
/** Private experimentation */
|
||||||
|
ICMP6_TYPE_PE1 = 100,
|
||||||
|
/** Private experimentation */
|
||||||
|
ICMP6_TYPE_PE2 = 101,
|
||||||
|
/** Reserved for expansion of error messages */
|
||||||
|
ICMP6_TYPE_RSV_ERR = 127,
|
||||||
|
|
||||||
|
/** Echo request */
|
||||||
|
ICMP6_TYPE_EREQ = 128,
|
||||||
|
/** Echo reply */
|
||||||
|
ICMP6_TYPE_EREP = 129,
|
||||||
|
/** Multicast listener query */
|
||||||
|
ICMP6_TYPE_MLQ = 130,
|
||||||
|
/** Multicast listener report */
|
||||||
|
ICMP6_TYPE_MLR = 131,
|
||||||
|
/** Multicast listener done */
|
||||||
|
ICMP6_TYPE_MLD = 132,
|
||||||
|
/** Router solicitation */
|
||||||
|
ICMP6_TYPE_RS = 133,
|
||||||
|
/** Router advertisement */
|
||||||
|
ICMP6_TYPE_RA = 134,
|
||||||
|
/** Neighbor solicitation */
|
||||||
|
ICMP6_TYPE_NS = 135,
|
||||||
|
/** Neighbor advertisement */
|
||||||
|
ICMP6_TYPE_NA = 136,
|
||||||
|
/** Redirect */
|
||||||
|
ICMP6_TYPE_RD = 137,
|
||||||
|
/** Multicast router advertisement */
|
||||||
|
ICMP6_TYPE_MRA = 151,
|
||||||
|
/** Multicast router solicitation */
|
||||||
|
ICMP6_TYPE_MRS = 152,
|
||||||
|
/** Multicast router termination */
|
||||||
|
ICMP6_TYPE_MRT = 153,
|
||||||
|
/** Private experimentation */
|
||||||
|
ICMP6_TYPE_PE3 = 200,
|
||||||
|
/** Private experimentation */
|
||||||
|
ICMP6_TYPE_PE4 = 201,
|
||||||
|
/** Reserved for expansion of informational messages */
|
||||||
|
ICMP6_TYPE_RSV_INF = 255
|
||||||
|
};
|
||||||
|
|
||||||
|
/** ICMP destination unreachable codes */
|
||||||
|
enum icmp6_dur_code {
|
||||||
|
/** No route to destination */
|
||||||
|
ICMP6_DUR_NO_ROUTE = 0,
|
||||||
|
/** Communication with destination administratively prohibited */
|
||||||
|
ICMP6_DUR_PROHIBITED = 1,
|
||||||
|
/** Beyond scope of source address */
|
||||||
|
ICMP6_DUR_SCOPE = 2,
|
||||||
|
/** Address unreachable */
|
||||||
|
ICMP6_DUR_ADDRESS = 3,
|
||||||
|
/** Port unreachable */
|
||||||
|
ICMP6_DUR_PORT = 4,
|
||||||
|
/** Source address failed ingress/egress policy */
|
||||||
|
ICMP6_DUR_POLICY = 5,
|
||||||
|
/** Reject route to destination */
|
||||||
|
ICMP6_DUR_REJECT_ROUTE = 6
|
||||||
|
};
|
||||||
|
|
||||||
|
/** ICMP time exceeded codes */
|
||||||
|
enum icmp6_te_code {
|
||||||
|
/** Hop limit exceeded in transit */
|
||||||
|
ICMP6_TE_HL = 0,
|
||||||
|
/** Fragment reassembly time exceeded */
|
||||||
|
ICMP6_TE_FRAG = 1
|
||||||
|
};
|
||||||
|
|
||||||
|
/** ICMP parameter code */
|
||||||
|
enum icmp6_pp_code {
|
||||||
|
/** Erroneous header field encountered */
|
||||||
|
ICMP6_PP_FIELD = 0,
|
||||||
|
/** Unrecognized next header type encountered */
|
||||||
|
ICMP6_PP_HEADER = 1,
|
||||||
|
/** Unrecognized IPv6 option encountered */
|
||||||
|
ICMP6_PP_OPTION = 2
|
||||||
|
};
|
||||||
|
|
||||||
/** This is the standard ICMP6 header. */
|
/** This is the standard ICMP6 header. */
|
||||||
#ifdef PACK_STRUCT_USE_INCLUDES
|
#ifdef PACK_STRUCT_USE_INCLUDES
|
||||||
# include "arch/bpstruct.h"
|
# include "arch/bpstruct.h"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user