X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/88937a62d9459bc1517f87f5bf2d67927db14c12..ffa1470e5c7ff0e50028d085a481dc797b0b51ed:/icmp6.h diff --git a/icmp6.h b/icmp6.h index 4877e9ae..3b782a44 100644 --- a/icmp6.h +++ b/icmp6.h @@ -1,4 +1,4 @@ -/* @(#) $Header: /tcpdump/master/tcpdump/icmp6.h,v 1.12 2002-03-28 10:02:34 guy Exp $ (LBL) */ +/* @(#) $Header: /tcpdump/master/tcpdump/icmp6.h,v 1.16.2.1 2005-09-05 09:29:28 guy Exp $ (LBL) */ /* $NetBSD: icmp6.h,v 1.13 2000/08/03 16:30:37 itojun Exp $ */ /* $KAME: icmp6.h,v 1.22 2000/08/03 15:25:16 jinmei Exp $ */ @@ -104,9 +104,9 @@ struct icmp6_hdr { #define MLD6_LISTENER_DONE 132 /* multicast listener done */ #define ND_ROUTER_SOLICIT 133 /* router solicitation */ -#define ND_ROUTER_ADVERT 134 /* router advertisment */ +#define ND_ROUTER_ADVERT 134 /* router advertisement */ #define ND_NEIGHBOR_SOLICIT 135 /* neighbor solicitation */ -#define ND_NEIGHBOR_ADVERT 136 /* neighbor advertisment */ +#define ND_NEIGHBOR_ADVERT 136 /* neighbor advertisement */ #define ND_REDIRECT 137 /* redirect */ #define ICMP6_ROUTER_RENUMBERING 138 /* router renumbering */ @@ -117,18 +117,20 @@ struct icmp6_hdr { #define ICMP6_FQDN_REPLY 140 /* FQDN reply */ #define ICMP6_NI_QUERY 139 /* node information request */ #define ICMP6_NI_REPLY 140 /* node information reply */ +#define IND_SOLICIT 141 /* inverse neighbor solicitation */ +#define IND_ADVERT 142 /* inverse neighbor advertisement */ -/* The definitions below are experimental. TBA */ -#define MLD6_MTRACE_RESP 141 /* mtrace response(to sender) */ -#define MLD6_MTRACE 142 /* mtrace messages */ +#define ICMP6_V2_MEMBERSHIP_REPORT 143 /* v2 membership report */ +#define MLDV2_LISTENER_REPORT 143 /* v2 multicast listener report */ +#define ICMP6_HADISCOV_REQUEST 144 +#define ICMP6_HADISCOV_REPLY 145 +#define ICMP6_MOBILEPREFIX_SOLICIT 146 +#define ICMP6_MOBILEPREFIX_ADVERT 147 -/* Folloing numbers are defined in the mobile-ip draft. */ -#define ICMP6_HADISCOV_REQUEST 150 /* XXX To be authorized */ -#define ICMP6_HADISCOV_REPLY 151 /* XXX To be authorized */ -#define ICMP6_MOBILEPREFIX_SOLICIT 152 /* XXX To be authorized */ -#define ICMP6_MOBILEPREFIX_ADVERT 153 /* XXX To be authorized */ +#define MLD6_MTRACE_RESP 200 /* mtrace response(to sender) */ +#define MLD6_MTRACE 201 /* mtrace messages */ -#define ICMP6_MAXTYPE 153 +#define ICMP6_MAXTYPE 201 #define ICMP6_DST_UNREACH_NOROUTE 0 /* no route to destination */ #define ICMP6_DST_UNREACH_ADMIN 1 /* administratively prohibited */ @@ -176,6 +178,9 @@ struct mld6_hdr { #define mld6_maxdelay mld6_hdr.icmp6_data16[0] #define mld6_reserved mld6_hdr.icmp6_data16[1] +#define MLD_MINLEN 24 +#define MLDV2_MINLEN 28 + /* * Neighbor Discovery */ @@ -240,10 +245,10 @@ struct nd_neighbor_advert { /* neighbor advertisement */ #define nd_na_code nd_na_hdr.icmp6_code #define nd_na_cksum nd_na_hdr.icmp6_cksum #define nd_na_flags_reserved nd_na_hdr.icmp6_data32[0] -/* netowkr endian */ -#define ND_NA_FLAG_ROUTER ((u_int32_t)htonl(0x80000000)) -#define ND_NA_FLAG_SOLICITED ((u_int32_t)htonl(0x40000000)) -#define ND_NA_FLAG_OVERRIDE ((u_int32_t)htonl(0x20000000)) + +#define ND_NA_FLAG_ROUTER 0x80000000 +#define ND_NA_FLAG_SOLICITED 0x40000000 +#define ND_NA_FLAG_OVERRIDE 0x20000000 struct nd_redirect { /* redirect */ struct icmp6_hdr nd_rd_hdr; @@ -278,9 +283,9 @@ struct nd_opt_prefix_info { /* prefix information */ u_int8_t nd_opt_pi_len; u_int8_t nd_opt_pi_prefix_len; u_int8_t nd_opt_pi_flags_reserved; - u_int32_t nd_opt_pi_valid_time; - u_int32_t nd_opt_pi_preferred_time; - u_int32_t nd_opt_pi_reserved2; + u_int8_t nd_opt_pi_valid_time[4]; + u_int8_t nd_opt_pi_preferred_time[4]; + u_int8_t nd_opt_pi_reserved2[4]; struct in6_addr nd_opt_pi_prefix; };