FreeBSD kernel IPv4 code
icmp6.h File Reference
#include <sys/counter.h>
Include dependency graph for icmp6.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  icmp6_hdr
 
struct  mld_hdr
 
struct  nd_router_solicit
 
struct  nd_router_advert
 
struct  nd_neighbor_solicit
 
struct  nd_neighbor_advert
 
struct  nd_redirect
 
struct  nd_opt_hdr
 
struct  nd_opt_prefix_info
 
struct  nd_opt_rd_hdr
 
struct  nd_opt_mtu
 
struct  nd_opt_nonce
 
struct  nd_opt_route_info
 
struct  nd_opt_rdnss
 
struct  nd_opt_dnssl
 
struct  icmp6_namelookup
 
struct  icmp6_nodeinfo
 
struct  ni_reply_fqdn
 
struct  icmp6_router_renum
 
struct  rr_pco_match
 
struct  rr_pco_use
 
struct  rr_result
 
struct  icmp6_filter
 
struct  icmp6errstat
 
struct  icmp6stat
 

Macros

#define ICMPV6_PLD_MAXLEN
 
#define icmp6_data32   icmp6_dataun.icmp6_un_data32
 
#define icmp6_data16   icmp6_dataun.icmp6_un_data16
 
#define icmp6_data8   icmp6_dataun.icmp6_un_data8
 
#define icmp6_pptr   icmp6_data32[0] /* parameter prob */
 
#define icmp6_mtu   icmp6_data32[0] /* packet too big */
 
#define icmp6_id   icmp6_data16[0] /* echo request/reply */
 
#define icmp6_seq   icmp6_data16[1] /* echo request/reply */
 
#define icmp6_maxdelay   icmp6_data16[0] /* mcast group membership */
 
#define ICMP6_DST_UNREACH   1 /* dest unreachable, codes: */
 
#define ICMP6_PACKET_TOO_BIG   2 /* packet too big */
 
#define ICMP6_TIME_EXCEEDED   3 /* time exceeded, code: */
 
#define ICMP6_PARAM_PROB   4 /* ip6 header bad */
 
#define ICMP6_ECHO_REQUEST   128 /* echo service */
 
#define ICMP6_ECHO_REPLY   129 /* echo reply */
 
#define MLD_LISTENER_QUERY   130 /* multicast listener query */
 
#define MLD_LISTENER_REPORT   131 /* multicast listener report */
 
#define MLD_LISTENER_DONE   132 /* multicast listener done */
 
#define MLD_LISTENER_REDUCTION   MLD_LISTENER_DONE /* RFC3542 definition */
 
#define ICMP6_MEMBERSHIP_QUERY   130 /* group membership query */
 
#define ICMP6_MEMBERSHIP_REPORT   131 /* group membership report */
 
#define ICMP6_MEMBERSHIP_REDUCTION   132 /* group membership termination */
 
#define ND_ROUTER_SOLICIT   133 /* router solicitation */
 
#define ND_ROUTER_ADVERT   134 /* router advertisement */
 
#define ND_NEIGHBOR_SOLICIT   135 /* neighbor solicitation */
 
#define ND_NEIGHBOR_ADVERT   136 /* neighbor advertisement */
 
#define ND_REDIRECT   137 /* redirect */
 
#define ICMP6_ROUTER_RENUMBERING   138 /* router renumbering */
 
#define ICMP6_WRUREQUEST   139 /* who are you request */
 
#define ICMP6_WRUREPLY   140 /* who are you reply */
 
#define ICMP6_FQDN_QUERY   139 /* FQDN query */
 
#define ICMP6_FQDN_REPLY   140 /* FQDN reply */
 
#define ICMP6_NI_QUERY   139 /* node information request */
 
#define ICMP6_NI_REPLY   140 /* node information reply */
 
#define MLDV2_LISTENER_REPORT   143 /* RFC3810 listener report */
 
#define MLD_MTRACE_RESP   200 /* mtrace resp (to sender) */
 
#define MLD_MTRACE   201 /* mtrace messages */
 
#define ICMP6_MAXTYPE   201
 
#define ICMP6_DST_UNREACH_NOROUTE   0 /* no route to destination */
 
#define ICMP6_DST_UNREACH_ADMIN   1 /* administratively prohibited */
 
#define ICMP6_DST_UNREACH_NOTNEIGHBOR   2 /* not a neighbor(obsolete) */
 
#define ICMP6_DST_UNREACH_BEYONDSCOPE   2 /* beyond scope of source address */
 
#define ICMP6_DST_UNREACH_ADDR   3 /* address unreachable */
 
#define ICMP6_DST_UNREACH_NOPORT   4 /* port unreachable */
 
#define ICMP6_DST_UNREACH_POLICY   5 /* failed ingress/egress policy */
 
#define ICMP6_DST_UNREACH_REJECT   6 /* Reject route to destination */
 
#define ICMP6_DST_UNREACH_SRCROUTE   7 /* Error in source routing header */
 
#define ICMP6_TIME_EXCEED_TRANSIT   0 /* ttl==0 in transit */
 
#define ICMP6_TIME_EXCEED_REASSEMBLY   1 /* ttl==0 in reass */
 
#define ICMP6_PARAMPROB_HEADER   0 /* erroneous header field */
 
#define ICMP6_PARAMPROB_NEXTHEADER   1 /* unrecognized next header */
 
#define ICMP6_PARAMPROB_OPTION   2 /* unrecognized option */
 
#define ICMP6_INFOMSG_MASK   0x80 /* all informational messages */
 
#define ICMP6_NI_SUBJ_IPV6   0 /* Query Subject is an IPv6 address */
 
#define ICMP6_NI_SUBJ_FQDN   1 /* Query Subject is a Domain name */
 
#define ICMP6_NI_SUBJ_IPV4   2 /* Query Subject is an IPv4 address */
 
#define ICMP6_NI_SUCCESS   0 /* node information successful reply */
 
#define ICMP6_NI_REFUSED   1 /* node information request is refused */
 
#define ICMP6_NI_UNKNOWN   2 /* unknown Qtype */
 
#define ICMP6_ROUTER_RENUMBERING_COMMAND   0 /* rr command */
 
#define ICMP6_ROUTER_RENUMBERING_RESULT   1 /* rr result */
 
#define ICMP6_ROUTER_RENUMBERING_SEQNUM_RESET   255 /* rr seq num reset */
 
#define ND_REDIRECT_ONLINK   0 /* redirect to an on-link node */
 
#define ND_REDIRECT_ROUTER   1 /* redirect to a better router */
 
#define mld_type   mld_icmp6_hdr.icmp6_type
 
#define mld_code   mld_icmp6_hdr.icmp6_code
 
#define mld_cksum   mld_icmp6_hdr.icmp6_cksum
 
#define mld_maxdelay   mld_icmp6_hdr.icmp6_data16[0]
 
#define mld_reserved   mld_icmp6_hdr.icmp6_data16[1]
 
#define mld_v2_reserved   mld_icmp6_hdr.icmp6_data16[0]
 
#define mld_v2_numrecs   mld_icmp6_hdr.icmp6_data16[1]
 
#define nd_rs_type   nd_rs_hdr.icmp6_type
 
#define nd_rs_code   nd_rs_hdr.icmp6_code
 
#define nd_rs_cksum   nd_rs_hdr.icmp6_cksum
 
#define nd_rs_reserved   nd_rs_hdr.icmp6_data32[0]
 
#define nd_ra_type   nd_ra_hdr.icmp6_type
 
#define nd_ra_code   nd_ra_hdr.icmp6_code
 
#define nd_ra_cksum   nd_ra_hdr.icmp6_cksum
 
#define nd_ra_curhoplimit   nd_ra_hdr.icmp6_data8[0]
 
#define nd_ra_flags_reserved   nd_ra_hdr.icmp6_data8[1]
 
#define ND_RA_FLAG_MANAGED   0x80
 
#define ND_RA_FLAG_OTHER   0x40
 
#define ND_RA_FLAG_HA   0x20
 
#define ND_RA_FLAG_RTPREF_MASK   0x18 /* 00011000 */
 
#define ND_RA_FLAG_RTPREF_HIGH   0x08 /* 00001000 */
 
#define ND_RA_FLAG_RTPREF_MEDIUM   0x00 /* 00000000 */
 
#define ND_RA_FLAG_RTPREF_LOW   0x18 /* 00011000 */
 
#define ND_RA_FLAG_RTPREF_RSV   0x10 /* 00010000 */
 
#define nd_ra_router_lifetime   nd_ra_hdr.icmp6_data16[1]
 
#define nd_ns_type   nd_ns_hdr.icmp6_type
 
#define nd_ns_code   nd_ns_hdr.icmp6_code
 
#define nd_ns_cksum   nd_ns_hdr.icmp6_cksum
 
#define nd_ns_reserved   nd_ns_hdr.icmp6_data32[0]
 
#define nd_na_type   nd_na_hdr.icmp6_type
 
#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]
 
#define ND_NA_FLAG_ROUTER   0x80000000
 
#define ND_NA_FLAG_SOLICITED   0x40000000
 
#define ND_NA_FLAG_OVERRIDE   0x20000000
 
#define nd_rd_type   nd_rd_hdr.icmp6_type
 
#define nd_rd_code   nd_rd_hdr.icmp6_code
 
#define nd_rd_cksum   nd_rd_hdr.icmp6_cksum
 
#define nd_rd_reserved   nd_rd_hdr.icmp6_data32[0]
 
#define ND_OPT_SOURCE_LINKADDR   1
 
#define ND_OPT_TARGET_LINKADDR   2
 
#define ND_OPT_PREFIX_INFORMATION   3
 
#define ND_OPT_REDIRECTED_HEADER   4
 
#define ND_OPT_MTU   5
 
#define ND_OPT_NONCE   14 /* RFC 3971 */
 
#define ND_OPT_ROUTE_INFO   24 /* RFC 4191 */
 
#define ND_OPT_RDNSS   25 /* RFC 6106 */
 
#define ND_OPT_DNSSL   31 /* RFC 6106 */
 
#define ND_OPT_MAX   31
 
#define ND_OPT_PI_FLAG_ONLINK   0x80
 
#define ND_OPT_PI_FLAG_AUTO   0x40
 
#define ND_OPT_NONCE_LEN   ((1 * 8) - 2)
 
#define ni_type   icmp6_ni_hdr.icmp6_type
 
#define ni_code   icmp6_ni_hdr.icmp6_code
 
#define ni_cksum   icmp6_ni_hdr.icmp6_cksum
 
#define ni_qtype   icmp6_ni_hdr.icmp6_data16[0]
 
#define ni_flags   icmp6_ni_hdr.icmp6_data16[1]
 
#define NI_QTYPE_NOOP   0 /* NOOP */
 
#define NI_QTYPE_SUPTYPES   1 /* Supported Qtypes */
 
#define NI_QTYPE_FQDN   2 /* FQDN (draft 04) */
 
#define NI_QTYPE_DNSNAME   2 /* DNS Name */
 
#define NI_QTYPE_NODEADDR   3 /* Node Addresses */
 
#define NI_QTYPE_IPV4ADDR   4 /* IPv4 Addresses */
 
#define NI_SUPTYPE_FLAG_COMPRESS   0x1
 
#define NI_FQDN_FLAG_VALIDTTL   0x1
 
#define NI_NODEADDR_FLAG_TRUNCATE   0x1
 
#define NI_NODEADDR_FLAG_ALL   0x2
 
#define NI_NODEADDR_FLAG_COMPAT   0x4
 
#define NI_NODEADDR_FLAG_LINKLOCAL   0x8
 
#define NI_NODEADDR_FLAG_SITELOCAL   0x10
 
#define NI_NODEADDR_FLAG_GLOBAL   0x20
 
#define NI_NODEADDR_FLAG_ANYCAST   0x40 /* just experimental. not in spec */
 
#define ICMP6_RR_FLAGS_TEST   0x80
 
#define ICMP6_RR_FLAGS_REQRESULT   0x40
 
#define ICMP6_RR_FLAGS_FORCEAPPLY   0x20
 
#define ICMP6_RR_FLAGS_SPECSITE   0x10
 
#define ICMP6_RR_FLAGS_PREVDONE   0x08
 
#define rr_type   rr_hdr.icmp6_type
 
#define rr_code   rr_hdr.icmp6_code
 
#define rr_cksum   rr_hdr.icmp6_cksum
 
#define rr_seqnum   rr_hdr.icmp6_data32[0]
 
#define RPM_PCO_ADD   1
 
#define RPM_PCO_CHANGE   2
 
#define RPM_PCO_SETGLOBAL   3
 
#define RPM_PCO_MAX   4
 
#define ICMP6_RR_PCOUSE_RAFLAGS_ONLINK   0x80
 
#define ICMP6_RR_PCOUSE_RAFLAGS_AUTO   0x40
 
#define ICMP6_RR_PCOUSE_FLAGS_DECRVLTIME   0x80000000
 
#define ICMP6_RR_PCOUSE_FLAGS_DECRPLTIME   0x40000000
 
#define ICMP6_RR_RESULT_FLAGS_OOB   0x0002
 
#define ICMP6_RR_RESULT_FLAGS_FORBIDDEN   0x0001
 
#define ICMP6_FILTER_SETPASSALL(filterp)
 
#define ICMP6_FILTER_SETBLOCKALL(filterp)    bzero(filterp, sizeof(struct icmp6_filter))
 
#define ICMP6_FILTER_SETPASS(type, filterp)    (((filterp)->icmp6_filt[(type) >> 5]) |= (1 << ((type) & 31)))
 
#define ICMP6_FILTER_SETBLOCK(type, filterp)    (((filterp)->icmp6_filt[(type) >> 5]) &= ~(1 << ((type) & 31)))
 
#define ICMP6_FILTER_WILLPASS(type, filterp)    ((((filterp)->icmp6_filt[(type) >> 5]) & (1 << ((type) & 31))) != 0)
 
#define ICMP6_FILTER_WILLBLOCK(type, filterp)    ((((filterp)->icmp6_filt[(type) >> 5]) & (1 << ((type) & 31))) == 0)
 
#define icp6s_odst_unreach_noroute    icp6s_outerrhist.icp6errs_dst_unreach_noroute
 
#define icp6s_odst_unreach_admin   icp6s_outerrhist.icp6errs_dst_unreach_admin
 
#define icp6s_odst_unreach_beyondscope    icp6s_outerrhist.icp6errs_dst_unreach_beyondscope
 
#define icp6s_odst_unreach_addr   icp6s_outerrhist.icp6errs_dst_unreach_addr
 
#define icp6s_odst_unreach_noport   icp6s_outerrhist.icp6errs_dst_unreach_noport
 
#define icp6s_opacket_too_big   icp6s_outerrhist.icp6errs_packet_too_big
 
#define icp6s_otime_exceed_transit    icp6s_outerrhist.icp6errs_time_exceed_transit
 
#define icp6s_otime_exceed_reassembly    icp6s_outerrhist.icp6errs_time_exceed_reassembly
 
#define icp6s_oparamprob_header   icp6s_outerrhist.icp6errs_paramprob_header
 
#define icp6s_oparamprob_nextheader    icp6s_outerrhist.icp6errs_paramprob_nextheader
 
#define icp6s_oparamprob_option   icp6s_outerrhist.icp6errs_paramprob_option
 
#define icp6s_oredirect   icp6s_outerrhist.icp6errs_redirect
 
#define icp6s_ounknown   icp6s_outerrhist.icp6errs_unknown
 
#define ICMP6STAT_ADD(name, val)    VNET_PCPUSTAT_ADD(struct icmp6stat, icmp6stat, name, (val))
 
#define ICMP6STAT_INC(name)   ICMP6STAT_ADD(name, 1)
 
#define KMOD_ICMP6STAT_INC(name)    kmod_icmp6stat_inc(offsetof(struct icmp6stat, name) / sizeof(uint64_t))
 
#define ICMPV6CTL_STATS   1
 
#define ICMPV6CTL_REDIRACCEPT   2 /* accept/process redirects */
 
#define ICMPV6CTL_REDIRTIMEOUT   3 /* redirect cache time */
 
#define ICMPV6CTL_ND6_PRUNE   6
 
#define ICMPV6CTL_ND6_DELAY   8
 
#define ICMPV6CTL_ND6_UMAXTRIES   9
 
#define ICMPV6CTL_ND6_MMAXTRIES   10
 
#define ICMPV6CTL_ND6_USELOOPBACK   11
 
#define ICMPV6CTL_NODEINFO   13
 
#define ICMPV6CTL_ERRPPSLIMIT   14 /* ICMPv6 error pps limitation */
 
#define ICMPV6CTL_ND6_MAXNUDHINT   15
 
#define ICMPV6CTL_MTUDISC_HIWAT   16
 
#define ICMPV6CTL_MTUDISC_LOWAT   17
 
#define ICMPV6CTL_ND6_DEBUG   18
 
#define ICMPV6CTL_ND6_DRLIST   19
 
#define ICMPV6CTL_ND6_PRLIST   20
 
#define ICMPV6CTL_MLD_MAXSRCFILTER   21
 
#define ICMPV6CTL_MLD_SOMAXSRC   22
 
#define ICMPV6CTL_MLD_VERSION   23
 
#define ICMPV6CTL_ND6_MAXQLEN   24
 
#define ICMPV6CTL_NODEINFO_OLDMCPREFIX   25
 
#define ICMPV6CTL_MAXID   26
 
#define icmp6_ifstat_inc(ifp, tag)
 
#define icmp6_ifoutstat_inc(ifp, type, code)
 
#define V_icmp6_rediraccept   VNET(icmp6_rediraccept)
 
#define V_icmp6_redirtimeout   VNET(icmp6_redirtimeout)
 
#define ICMP6_NODEINFO_FQDNOK   0x1
 
#define ICMP6_NODEINFO_NODEADDROK   0x2
 
#define ICMP6_NODEINFO_TMPADDROK   0x4
 
#define ICMP6_NODEINFO_GLOBALOK   0x8
 

Functions

 VNET_PCPUSTAT_DECLARE (struct icmp6stat, icmp6stat)
 
void kmod_icmp6stat_inc (int statnum)
 
void icmp6_paramerror (struct mbuf *, int)
 
void icmp6_error (struct mbuf *, int, int, int)
 
void icmp6_error2 (struct mbuf *, int, int, int, struct ifnet *)
 
int icmp6_input (struct mbuf **, int *, int)
 
void icmp6_fasttimo (void)
 
void icmp6_slowtimo (void)
 
void icmp6_prepare (struct mbuf *)
 
void icmp6_redirect_input (struct mbuf *, int)
 
void icmp6_redirect_output (struct mbuf *, struct nhop_object *)
 
void icmp6_mtudisc_update (struct ip6ctlparam *, int)
 
 VNET_DECLARE (int, icmp6_rediraccept)
 
 VNET_DECLARE (int, icmp6_redirtimeout)
 

Variables

struct icmp6_hdr __packed
 

Macro Definition Documentation

◆ icmp6_data16

#define icmp6_data16   icmp6_dataun.icmp6_un_data16

Definition at line 83 of file icmp6.h.

◆ icmp6_data32

#define icmp6_data32   icmp6_dataun.icmp6_un_data32

Definition at line 82 of file icmp6.h.

◆ icmp6_data8

#define icmp6_data8   icmp6_dataun.icmp6_un_data8

Definition at line 84 of file icmp6.h.

◆ ICMP6_DST_UNREACH

#define ICMP6_DST_UNREACH   1 /* dest unreachable, codes: */

Definition at line 91 of file icmp6.h.

◆ ICMP6_DST_UNREACH_ADDR

#define ICMP6_DST_UNREACH_ADDR   3 /* address unreachable */

Definition at line 146 of file icmp6.h.

◆ ICMP6_DST_UNREACH_ADMIN

#define ICMP6_DST_UNREACH_ADMIN   1 /* administratively prohibited */

Definition at line 143 of file icmp6.h.

◆ ICMP6_DST_UNREACH_BEYONDSCOPE

#define ICMP6_DST_UNREACH_BEYONDSCOPE   2 /* beyond scope of source address */

Definition at line 145 of file icmp6.h.

◆ ICMP6_DST_UNREACH_NOPORT

#define ICMP6_DST_UNREACH_NOPORT   4 /* port unreachable */

Definition at line 147 of file icmp6.h.

◆ ICMP6_DST_UNREACH_NOROUTE

#define ICMP6_DST_UNREACH_NOROUTE   0 /* no route to destination */

Definition at line 142 of file icmp6.h.

◆ ICMP6_DST_UNREACH_NOTNEIGHBOR

#define ICMP6_DST_UNREACH_NOTNEIGHBOR   2 /* not a neighbor(obsolete) */

Definition at line 144 of file icmp6.h.

◆ ICMP6_DST_UNREACH_POLICY

#define ICMP6_DST_UNREACH_POLICY   5 /* failed ingress/egress policy */

Definition at line 148 of file icmp6.h.

◆ ICMP6_DST_UNREACH_REJECT

#define ICMP6_DST_UNREACH_REJECT   6 /* Reject route to destination */

Definition at line 149 of file icmp6.h.

◆ ICMP6_DST_UNREACH_SRCROUTE

#define ICMP6_DST_UNREACH_SRCROUTE   7 /* Error in source routing header */

Definition at line 150 of file icmp6.h.

◆ ICMP6_ECHO_REPLY

#define ICMP6_ECHO_REPLY   129 /* echo reply */

Definition at line 97 of file icmp6.h.

◆ ICMP6_ECHO_REQUEST

#define ICMP6_ECHO_REQUEST   128 /* echo service */

Definition at line 96 of file icmp6.h.

◆ ICMP6_FILTER_SETBLOCK

#define ICMP6_FILTER_SETBLOCK (   type,
  filterp 
)     (((filterp)->icmp6_filt[(type) >> 5]) &= ~(1 << ((type) & 31)))

Definition at line 566 of file icmp6.h.

◆ ICMP6_FILTER_SETBLOCKALL

#define ICMP6_FILTER_SETBLOCKALL (   filterp)     bzero(filterp, sizeof(struct icmp6_filter))

Definition at line 555 of file icmp6.h.

◆ ICMP6_FILTER_SETPASS

#define ICMP6_FILTER_SETPASS (   type,
  filterp 
)     (((filterp)->icmp6_filt[(type) >> 5]) |= (1 << ((type) & 31)))

Definition at line 564 of file icmp6.h.

◆ ICMP6_FILTER_SETPASSALL

#define ICMP6_FILTER_SETPASSALL (   filterp)
Value:
do { \
int i; u_char *p; \
p = (u_char *)filterp; \
for (i = 0; i < sizeof(struct icmp6_filter); i++) \
p[i] = 0xff; \
} while (/*CONSTCOND*/ 0)

Definition at line 548 of file icmp6.h.

◆ ICMP6_FILTER_WILLBLOCK

#define ICMP6_FILTER_WILLBLOCK (   type,
  filterp 
)     ((((filterp)->icmp6_filt[(type) >> 5]) & (1 << ((type) & 31))) == 0)

Definition at line 570 of file icmp6.h.

◆ ICMP6_FILTER_WILLPASS

#define ICMP6_FILTER_WILLPASS (   type,
  filterp 
)     ((((filterp)->icmp6_filt[(type) >> 5]) & (1 << ((type) & 31))) != 0)

Definition at line 568 of file icmp6.h.

◆ ICMP6_FQDN_QUERY

#define ICMP6_FQDN_QUERY   139 /* FQDN query */

Definition at line 125 of file icmp6.h.

◆ ICMP6_FQDN_REPLY

#define ICMP6_FQDN_REPLY   140 /* FQDN reply */

Definition at line 126 of file icmp6.h.

◆ icmp6_id

#define icmp6_id   icmp6_data16[0] /* echo request/reply */

Definition at line 87 of file icmp6.h.

◆ icmp6_ifoutstat_inc

#define icmp6_ifoutstat_inc (   ifp,
  type,
  code 
)

Definition at line 723 of file icmp6.h.

◆ icmp6_ifstat_inc

#define icmp6_ifstat_inc (   ifp,
  tag 
)
Value:
do { \
if (ifp) \
counter_u64_add(((struct in6_ifextra *) \
((ifp)->if_afdata[AF_INET6]))->icmp6_ifstat[\
offsetof(struct icmp6_ifstat, tag) / sizeof(uint64_t)], 1);\
} while (/*CONSTCOND*/ 0)

Definition at line 715 of file icmp6.h.

◆ ICMP6_INFOMSG_MASK

#define ICMP6_INFOMSG_MASK   0x80 /* all informational messages */

Definition at line 159 of file icmp6.h.

◆ icmp6_maxdelay

#define icmp6_maxdelay   icmp6_data16[0] /* mcast group membership */

Definition at line 89 of file icmp6.h.

◆ ICMP6_MAXTYPE

#define ICMP6_MAXTYPE   201

Definition at line 140 of file icmp6.h.

◆ ICMP6_MEMBERSHIP_QUERY

#define ICMP6_MEMBERSHIP_QUERY   130 /* group membership query */

Definition at line 104 of file icmp6.h.

◆ ICMP6_MEMBERSHIP_REDUCTION

#define ICMP6_MEMBERSHIP_REDUCTION   132 /* group membership termination */

Definition at line 106 of file icmp6.h.

◆ ICMP6_MEMBERSHIP_REPORT

#define ICMP6_MEMBERSHIP_REPORT   131 /* group membership report */

Definition at line 105 of file icmp6.h.

◆ icmp6_mtu

#define icmp6_mtu   icmp6_data32[0] /* packet too big */

Definition at line 86 of file icmp6.h.

◆ ICMP6_NI_QUERY

#define ICMP6_NI_QUERY   139 /* node information request */

Definition at line 127 of file icmp6.h.

◆ ICMP6_NI_REFUSED

#define ICMP6_NI_REFUSED   1 /* node information request is refused */

Definition at line 166 of file icmp6.h.

◆ ICMP6_NI_REPLY

#define ICMP6_NI_REPLY   140 /* node information reply */

Definition at line 128 of file icmp6.h.

◆ ICMP6_NI_SUBJ_FQDN

#define ICMP6_NI_SUBJ_FQDN   1 /* Query Subject is a Domain name */

Definition at line 162 of file icmp6.h.

◆ ICMP6_NI_SUBJ_IPV4

#define ICMP6_NI_SUBJ_IPV4   2 /* Query Subject is an IPv4 address */

Definition at line 163 of file icmp6.h.

◆ ICMP6_NI_SUBJ_IPV6

#define ICMP6_NI_SUBJ_IPV6   0 /* Query Subject is an IPv6 address */

Definition at line 161 of file icmp6.h.

◆ ICMP6_NI_SUCCESS

#define ICMP6_NI_SUCCESS   0 /* node information successful reply */

Definition at line 165 of file icmp6.h.

◆ ICMP6_NI_UNKNOWN

#define ICMP6_NI_UNKNOWN   2 /* unknown Qtype */

Definition at line 167 of file icmp6.h.

◆ ICMP6_NODEINFO_FQDNOK

#define ICMP6_NODEINFO_FQDNOK   0x1

Definition at line 782 of file icmp6.h.

◆ ICMP6_NODEINFO_GLOBALOK

#define ICMP6_NODEINFO_GLOBALOK   0x8

Definition at line 785 of file icmp6.h.

◆ ICMP6_NODEINFO_NODEADDROK

#define ICMP6_NODEINFO_NODEADDROK   0x2

Definition at line 783 of file icmp6.h.

◆ ICMP6_NODEINFO_TMPADDROK

#define ICMP6_NODEINFO_TMPADDROK   0x4

Definition at line 784 of file icmp6.h.

◆ ICMP6_PACKET_TOO_BIG

#define ICMP6_PACKET_TOO_BIG   2 /* packet too big */

Definition at line 92 of file icmp6.h.

◆ ICMP6_PARAM_PROB

#define ICMP6_PARAM_PROB   4 /* ip6 header bad */

Definition at line 94 of file icmp6.h.

◆ ICMP6_PARAMPROB_HEADER

#define ICMP6_PARAMPROB_HEADER   0 /* erroneous header field */

Definition at line 155 of file icmp6.h.

◆ ICMP6_PARAMPROB_NEXTHEADER

#define ICMP6_PARAMPROB_NEXTHEADER   1 /* unrecognized next header */

Definition at line 156 of file icmp6.h.

◆ ICMP6_PARAMPROB_OPTION

#define ICMP6_PARAMPROB_OPTION   2 /* unrecognized option */

Definition at line 157 of file icmp6.h.

◆ icmp6_pptr

#define icmp6_pptr   icmp6_data32[0] /* parameter prob */

Definition at line 85 of file icmp6.h.

◆ ICMP6_ROUTER_RENUMBERING

#define ICMP6_ROUTER_RENUMBERING   138 /* router renumbering */

Definition at line 121 of file icmp6.h.

◆ ICMP6_ROUTER_RENUMBERING_COMMAND

#define ICMP6_ROUTER_RENUMBERING_COMMAND   0 /* rr command */

Definition at line 169 of file icmp6.h.

◆ ICMP6_ROUTER_RENUMBERING_RESULT

#define ICMP6_ROUTER_RENUMBERING_RESULT   1 /* rr result */

Definition at line 170 of file icmp6.h.

◆ ICMP6_ROUTER_RENUMBERING_SEQNUM_RESET

#define ICMP6_ROUTER_RENUMBERING_SEQNUM_RESET   255 /* rr seq num reset */

Definition at line 171 of file icmp6.h.

◆ ICMP6_RR_FLAGS_FORCEAPPLY

#define ICMP6_RR_FLAGS_FORCEAPPLY   0x20

Definition at line 478 of file icmp6.h.

◆ ICMP6_RR_FLAGS_PREVDONE

#define ICMP6_RR_FLAGS_PREVDONE   0x08

Definition at line 480 of file icmp6.h.

◆ ICMP6_RR_FLAGS_REQRESULT

#define ICMP6_RR_FLAGS_REQRESULT   0x40

Definition at line 477 of file icmp6.h.

◆ ICMP6_RR_FLAGS_SPECSITE

#define ICMP6_RR_FLAGS_SPECSITE   0x10

Definition at line 479 of file icmp6.h.

◆ ICMP6_RR_FLAGS_TEST

#define ICMP6_RR_FLAGS_TEST   0x80

Definition at line 476 of file icmp6.h.

◆ ICMP6_RR_PCOUSE_FLAGS_DECRPLTIME

#define ICMP6_RR_PCOUSE_FLAGS_DECRPLTIME   0x40000000

Definition at line 518 of file icmp6.h.

◆ ICMP6_RR_PCOUSE_FLAGS_DECRVLTIME

#define ICMP6_RR_PCOUSE_FLAGS_DECRVLTIME   0x80000000

Definition at line 517 of file icmp6.h.

◆ ICMP6_RR_PCOUSE_RAFLAGS_AUTO

#define ICMP6_RR_PCOUSE_RAFLAGS_AUTO   0x40

Definition at line 514 of file icmp6.h.

◆ ICMP6_RR_PCOUSE_RAFLAGS_ONLINK

#define ICMP6_RR_PCOUSE_RAFLAGS_ONLINK   0x80

Definition at line 513 of file icmp6.h.

◆ ICMP6_RR_RESULT_FLAGS_FORBIDDEN

#define ICMP6_RR_RESULT_FLAGS_FORBIDDEN   0x0001

Definition at line 533 of file icmp6.h.

◆ ICMP6_RR_RESULT_FLAGS_OOB

#define ICMP6_RR_RESULT_FLAGS_OOB   0x0002

Definition at line 532 of file icmp6.h.

◆ icmp6_seq

#define icmp6_seq   icmp6_data16[1] /* echo request/reply */

Definition at line 88 of file icmp6.h.

◆ ICMP6_TIME_EXCEED_REASSEMBLY

#define ICMP6_TIME_EXCEED_REASSEMBLY   1 /* ttl==0 in reass */

Definition at line 153 of file icmp6.h.

◆ ICMP6_TIME_EXCEED_TRANSIT

#define ICMP6_TIME_EXCEED_TRANSIT   0 /* ttl==0 in transit */

Definition at line 152 of file icmp6.h.

◆ ICMP6_TIME_EXCEEDED

#define ICMP6_TIME_EXCEEDED   3 /* time exceeded, code: */

Definition at line 93 of file icmp6.h.

◆ ICMP6_WRUREPLY

#define ICMP6_WRUREPLY   140 /* who are you reply */

Definition at line 124 of file icmp6.h.

◆ ICMP6_WRUREQUEST

#define ICMP6_WRUREQUEST   139 /* who are you request */

Definition at line 123 of file icmp6.h.

◆ ICMP6STAT_ADD

#define ICMP6STAT_ADD (   name,
  val 
)     VNET_PCPUSTAT_ADD(struct icmp6stat, icmp6stat, name, (val))

Definition at line 653 of file icmp6.h.

◆ ICMP6STAT_INC

#define ICMP6STAT_INC (   name)    ICMP6STAT_ADD(name, 1)

Definition at line 655 of file icmp6.h.

◆ ICMPV6_PLD_MAXLEN

#define ICMPV6_PLD_MAXLEN
Value:
1232 /* IPV6_MMTU - sizeof(struct ip6_hdr)
- sizeof(struct icmp6_hdr) */

Definition at line 69 of file icmp6.h.

◆ ICMPV6CTL_ERRPPSLIMIT

#define ICMPV6CTL_ERRPPSLIMIT   14 /* ICMPv6 error pps limitation */

Definition at line 681 of file icmp6.h.

◆ ICMPV6CTL_MAXID

#define ICMPV6CTL_MAXID   26

Definition at line 693 of file icmp6.h.

◆ ICMPV6CTL_MLD_MAXSRCFILTER

#define ICMPV6CTL_MLD_MAXSRCFILTER   21

Definition at line 688 of file icmp6.h.

◆ ICMPV6CTL_MLD_SOMAXSRC

#define ICMPV6CTL_MLD_SOMAXSRC   22

Definition at line 689 of file icmp6.h.

◆ ICMPV6CTL_MLD_VERSION

#define ICMPV6CTL_MLD_VERSION   23

Definition at line 690 of file icmp6.h.

◆ ICMPV6CTL_MTUDISC_HIWAT

#define ICMPV6CTL_MTUDISC_HIWAT   16

Definition at line 683 of file icmp6.h.

◆ ICMPV6CTL_MTUDISC_LOWAT

#define ICMPV6CTL_MTUDISC_LOWAT   17

Definition at line 684 of file icmp6.h.

◆ ICMPV6CTL_ND6_DEBUG

#define ICMPV6CTL_ND6_DEBUG   18

Definition at line 685 of file icmp6.h.

◆ ICMPV6CTL_ND6_DELAY

#define ICMPV6CTL_ND6_DELAY   8

Definition at line 675 of file icmp6.h.

◆ ICMPV6CTL_ND6_DRLIST

#define ICMPV6CTL_ND6_DRLIST   19

Definition at line 686 of file icmp6.h.

◆ ICMPV6CTL_ND6_MAXNUDHINT

#define ICMPV6CTL_ND6_MAXNUDHINT   15

Definition at line 682 of file icmp6.h.

◆ ICMPV6CTL_ND6_MAXQLEN

#define ICMPV6CTL_ND6_MAXQLEN   24

Definition at line 691 of file icmp6.h.

◆ ICMPV6CTL_ND6_MMAXTRIES

#define ICMPV6CTL_ND6_MMAXTRIES   10

Definition at line 677 of file icmp6.h.

◆ ICMPV6CTL_ND6_PRLIST

#define ICMPV6CTL_ND6_PRLIST   20

Definition at line 687 of file icmp6.h.

◆ ICMPV6CTL_ND6_PRUNE

#define ICMPV6CTL_ND6_PRUNE   6

Definition at line 674 of file icmp6.h.

◆ ICMPV6CTL_ND6_UMAXTRIES

#define ICMPV6CTL_ND6_UMAXTRIES   9

Definition at line 676 of file icmp6.h.

◆ ICMPV6CTL_ND6_USELOOPBACK

#define ICMPV6CTL_ND6_USELOOPBACK   11

Definition at line 678 of file icmp6.h.

◆ ICMPV6CTL_NODEINFO

#define ICMPV6CTL_NODEINFO   13

Definition at line 680 of file icmp6.h.

◆ ICMPV6CTL_NODEINFO_OLDMCPREFIX

#define ICMPV6CTL_NODEINFO_OLDMCPREFIX   25

Definition at line 692 of file icmp6.h.

◆ ICMPV6CTL_REDIRACCEPT

#define ICMPV6CTL_REDIRACCEPT   2 /* accept/process redirects */

Definition at line 669 of file icmp6.h.

◆ ICMPV6CTL_REDIRTIMEOUT

#define ICMPV6CTL_REDIRTIMEOUT   3 /* redirect cache time */

Definition at line 670 of file icmp6.h.

◆ ICMPV6CTL_STATS

#define ICMPV6CTL_STATS   1

Definition at line 668 of file icmp6.h.

◆ icp6s_odst_unreach_addr

#define icp6s_odst_unreach_addr   icp6s_outerrhist.icp6errs_dst_unreach_addr

Definition at line 617 of file icmp6.h.

◆ icp6s_odst_unreach_admin

#define icp6s_odst_unreach_admin   icp6s_outerrhist.icp6errs_dst_unreach_admin

Definition at line 614 of file icmp6.h.

◆ icp6s_odst_unreach_beyondscope

#define icp6s_odst_unreach_beyondscope    icp6s_outerrhist.icp6errs_dst_unreach_beyondscope

Definition at line 615 of file icmp6.h.

◆ icp6s_odst_unreach_noport

#define icp6s_odst_unreach_noport   icp6s_outerrhist.icp6errs_dst_unreach_noport

Definition at line 618 of file icmp6.h.

◆ icp6s_odst_unreach_noroute

#define icp6s_odst_unreach_noroute    icp6s_outerrhist.icp6errs_dst_unreach_noroute

Definition at line 612 of file icmp6.h.

◆ icp6s_opacket_too_big

#define icp6s_opacket_too_big   icp6s_outerrhist.icp6errs_packet_too_big

Definition at line 619 of file icmp6.h.

◆ icp6s_oparamprob_header

#define icp6s_oparamprob_header   icp6s_outerrhist.icp6errs_paramprob_header

Definition at line 624 of file icmp6.h.

◆ icp6s_oparamprob_nextheader

#define icp6s_oparamprob_nextheader    icp6s_outerrhist.icp6errs_paramprob_nextheader

Definition at line 625 of file icmp6.h.

◆ icp6s_oparamprob_option

#define icp6s_oparamprob_option   icp6s_outerrhist.icp6errs_paramprob_option

Definition at line 627 of file icmp6.h.

◆ icp6s_oredirect

#define icp6s_oredirect   icp6s_outerrhist.icp6errs_redirect

Definition at line 628 of file icmp6.h.

◆ icp6s_otime_exceed_reassembly

#define icp6s_otime_exceed_reassembly    icp6s_outerrhist.icp6errs_time_exceed_reassembly

Definition at line 622 of file icmp6.h.

◆ icp6s_otime_exceed_transit

#define icp6s_otime_exceed_transit    icp6s_outerrhist.icp6errs_time_exceed_transit

Definition at line 620 of file icmp6.h.

◆ icp6s_ounknown

#define icp6s_ounknown   icp6s_outerrhist.icp6errs_unknown

Definition at line 629 of file icmp6.h.

◆ KMOD_ICMP6STAT_INC

#define KMOD_ICMP6STAT_INC (   name)     kmod_icmp6stat_inc(offsetof(struct icmp6stat, name) / sizeof(uint64_t))

Definition at line 661 of file icmp6.h.

◆ mld_cksum

#define mld_cksum   mld_icmp6_hdr.icmp6_cksum

Definition at line 199 of file icmp6.h.

◆ mld_code

#define mld_code   mld_icmp6_hdr.icmp6_code

Definition at line 198 of file icmp6.h.

◆ MLD_LISTENER_DONE

#define MLD_LISTENER_DONE   132 /* multicast listener done */

Definition at line 100 of file icmp6.h.

◆ MLD_LISTENER_QUERY

#define MLD_LISTENER_QUERY   130 /* multicast listener query */

Definition at line 98 of file icmp6.h.

◆ MLD_LISTENER_REDUCTION

#define MLD_LISTENER_REDUCTION   MLD_LISTENER_DONE /* RFC3542 definition */

Definition at line 101 of file icmp6.h.

◆ MLD_LISTENER_REPORT

#define MLD_LISTENER_REPORT   131 /* multicast listener report */

Definition at line 99 of file icmp6.h.

◆ mld_maxdelay

#define mld_maxdelay   mld_icmp6_hdr.icmp6_data16[0]

Definition at line 200 of file icmp6.h.

◆ MLD_MTRACE

#define MLD_MTRACE   201 /* mtrace messages */

Definition at line 133 of file icmp6.h.

◆ MLD_MTRACE_RESP

#define MLD_MTRACE_RESP   200 /* mtrace resp (to sender) */

Definition at line 132 of file icmp6.h.

◆ mld_reserved

#define mld_reserved   mld_icmp6_hdr.icmp6_data16[1]

Definition at line 201 of file icmp6.h.

◆ mld_type

#define mld_type   mld_icmp6_hdr.icmp6_type

Definition at line 197 of file icmp6.h.

◆ mld_v2_numrecs

#define mld_v2_numrecs   mld_icmp6_hdr.icmp6_data16[1]

Definition at line 203 of file icmp6.h.

◆ mld_v2_reserved

#define mld_v2_reserved   mld_icmp6_hdr.icmp6_data16[0]

Definition at line 202 of file icmp6.h.

◆ MLDV2_LISTENER_REPORT

#define MLDV2_LISTENER_REPORT   143 /* RFC3810 listener report */

Definition at line 129 of file icmp6.h.

◆ nd_na_cksum

#define nd_na_cksum   nd_na_hdr.icmp6_cksum

Definition at line 271 of file icmp6.h.

◆ nd_na_code

#define nd_na_code   nd_na_hdr.icmp6_code

Definition at line 270 of file icmp6.h.

◆ ND_NA_FLAG_OVERRIDE

#define ND_NA_FLAG_OVERRIDE   0x20000000

Definition at line 276 of file icmp6.h.

◆ ND_NA_FLAG_ROUTER

#define ND_NA_FLAG_ROUTER   0x80000000

Definition at line 274 of file icmp6.h.

◆ ND_NA_FLAG_SOLICITED

#define ND_NA_FLAG_SOLICITED   0x40000000

Definition at line 275 of file icmp6.h.

◆ nd_na_flags_reserved

#define nd_na_flags_reserved   nd_na_hdr.icmp6_data32[0]

Definition at line 272 of file icmp6.h.

◆ nd_na_type

#define nd_na_type   nd_na_hdr.icmp6_type

Definition at line 269 of file icmp6.h.

◆ ND_NEIGHBOR_ADVERT

#define ND_NEIGHBOR_ADVERT   136 /* neighbor advertisement */

Definition at line 118 of file icmp6.h.

◆ ND_NEIGHBOR_SOLICIT

#define ND_NEIGHBOR_SOLICIT   135 /* neighbor solicitation */

Definition at line 117 of file icmp6.h.

◆ nd_ns_cksum

#define nd_ns_cksum   nd_ns_hdr.icmp6_cksum

Definition at line 260 of file icmp6.h.

◆ nd_ns_code

#define nd_ns_code   nd_ns_hdr.icmp6_code

Definition at line 259 of file icmp6.h.

◆ nd_ns_reserved

#define nd_ns_reserved   nd_ns_hdr.icmp6_data32[0]

Definition at line 261 of file icmp6.h.

◆ nd_ns_type

#define nd_ns_type   nd_ns_hdr.icmp6_type

Definition at line 258 of file icmp6.h.

◆ ND_OPT_DNSSL

#define ND_OPT_DNSSL   31 /* RFC 6106 */

Definition at line 311 of file icmp6.h.

◆ ND_OPT_MAX

#define ND_OPT_MAX   31

Definition at line 312 of file icmp6.h.

◆ ND_OPT_MTU

#define ND_OPT_MTU   5

Definition at line 307 of file icmp6.h.

◆ ND_OPT_NONCE

#define ND_OPT_NONCE   14 /* RFC 3971 */

Definition at line 308 of file icmp6.h.

◆ ND_OPT_NONCE_LEN

#define ND_OPT_NONCE_LEN   ((1 * 8) - 2)

Definition at line 343 of file icmp6.h.

◆ ND_OPT_PI_FLAG_AUTO

#define ND_OPT_PI_FLAG_AUTO   0x40

Definition at line 326 of file icmp6.h.

◆ ND_OPT_PI_FLAG_ONLINK

#define ND_OPT_PI_FLAG_ONLINK   0x80

Definition at line 325 of file icmp6.h.

◆ ND_OPT_PREFIX_INFORMATION

#define ND_OPT_PREFIX_INFORMATION   3

Definition at line 305 of file icmp6.h.

◆ ND_OPT_RDNSS

#define ND_OPT_RDNSS   25 /* RFC 6106 */

Definition at line 310 of file icmp6.h.

◆ ND_OPT_REDIRECTED_HEADER

#define ND_OPT_REDIRECTED_HEADER   4

Definition at line 306 of file icmp6.h.

◆ ND_OPT_ROUTE_INFO

#define ND_OPT_ROUTE_INFO   24 /* RFC 4191 */

Definition at line 309 of file icmp6.h.

◆ ND_OPT_SOURCE_LINKADDR

#define ND_OPT_SOURCE_LINKADDR   1

Definition at line 303 of file icmp6.h.

◆ ND_OPT_TARGET_LINKADDR

#define ND_OPT_TARGET_LINKADDR   2

Definition at line 304 of file icmp6.h.

◆ nd_ra_cksum

#define nd_ra_cksum   nd_ra_hdr.icmp6_cksum

Definition at line 228 of file icmp6.h.

◆ nd_ra_code

#define nd_ra_code   nd_ra_hdr.icmp6_code

Definition at line 227 of file icmp6.h.

◆ nd_ra_curhoplimit

#define nd_ra_curhoplimit   nd_ra_hdr.icmp6_data8[0]

Definition at line 229 of file icmp6.h.

◆ ND_RA_FLAG_HA

#define ND_RA_FLAG_HA   0x20

Definition at line 233 of file icmp6.h.

◆ ND_RA_FLAG_MANAGED

#define ND_RA_FLAG_MANAGED   0x80

Definition at line 231 of file icmp6.h.

◆ ND_RA_FLAG_OTHER

#define ND_RA_FLAG_OTHER   0x40

Definition at line 232 of file icmp6.h.

◆ ND_RA_FLAG_RTPREF_HIGH

#define ND_RA_FLAG_RTPREF_HIGH   0x08 /* 00001000 */

Definition at line 241 of file icmp6.h.

◆ ND_RA_FLAG_RTPREF_LOW

#define ND_RA_FLAG_RTPREF_LOW   0x18 /* 00011000 */

Definition at line 243 of file icmp6.h.

◆ ND_RA_FLAG_RTPREF_MASK

#define ND_RA_FLAG_RTPREF_MASK   0x18 /* 00011000 */

Definition at line 239 of file icmp6.h.

◆ ND_RA_FLAG_RTPREF_MEDIUM

#define ND_RA_FLAG_RTPREF_MEDIUM   0x00 /* 00000000 */

Definition at line 242 of file icmp6.h.

◆ ND_RA_FLAG_RTPREF_RSV

#define ND_RA_FLAG_RTPREF_RSV   0x10 /* 00010000 */

Definition at line 244 of file icmp6.h.

◆ nd_ra_flags_reserved

#define nd_ra_flags_reserved   nd_ra_hdr.icmp6_data8[1]

Definition at line 230 of file icmp6.h.

◆ nd_ra_router_lifetime

#define nd_ra_router_lifetime   nd_ra_hdr.icmp6_data16[1]

Definition at line 250 of file icmp6.h.

◆ nd_ra_type

#define nd_ra_type   nd_ra_hdr.icmp6_type

Definition at line 226 of file icmp6.h.

◆ nd_rd_cksum

#define nd_rd_cksum   nd_rd_hdr.icmp6_cksum

Definition at line 294 of file icmp6.h.

◆ nd_rd_code

#define nd_rd_code   nd_rd_hdr.icmp6_code

Definition at line 293 of file icmp6.h.

◆ nd_rd_reserved

#define nd_rd_reserved   nd_rd_hdr.icmp6_data32[0]

Definition at line 295 of file icmp6.h.

◆ nd_rd_type

#define nd_rd_type   nd_rd_hdr.icmp6_type

Definition at line 292 of file icmp6.h.

◆ ND_REDIRECT

#define ND_REDIRECT   137 /* redirect */

Definition at line 119 of file icmp6.h.

◆ ND_REDIRECT_ONLINK

#define ND_REDIRECT_ONLINK   0 /* redirect to an on-link node */

Definition at line 174 of file icmp6.h.

◆ ND_REDIRECT_ROUTER

#define ND_REDIRECT_ROUTER   1 /* redirect to a better router */

Definition at line 175 of file icmp6.h.

◆ ND_ROUTER_ADVERT

#define ND_ROUTER_ADVERT   134 /* router advertisement */

Definition at line 116 of file icmp6.h.

◆ ND_ROUTER_SOLICIT

#define ND_ROUTER_SOLICIT   133 /* router solicitation */

Definition at line 115 of file icmp6.h.

◆ nd_rs_cksum

#define nd_rs_cksum   nd_rs_hdr.icmp6_cksum

Definition at line 216 of file icmp6.h.

◆ nd_rs_code

#define nd_rs_code   nd_rs_hdr.icmp6_code

Definition at line 215 of file icmp6.h.

◆ nd_rs_reserved

#define nd_rs_reserved   nd_rs_hdr.icmp6_data32[0]

Definition at line 217 of file icmp6.h.

◆ nd_rs_type

#define nd_rs_type   nd_rs_hdr.icmp6_type

Definition at line 214 of file icmp6.h.

◆ ni_cksum

#define ni_cksum   icmp6_ni_hdr.icmp6_cksum

Definition at line 404 of file icmp6.h.

◆ ni_code

#define ni_code   icmp6_ni_hdr.icmp6_code

Definition at line 403 of file icmp6.h.

◆ ni_flags

#define ni_flags   icmp6_ni_hdr.icmp6_data16[1]

Definition at line 406 of file icmp6.h.

◆ NI_FQDN_FLAG_VALIDTTL

#define NI_FQDN_FLAG_VALIDTTL   0x1

Definition at line 417 of file icmp6.h.

◆ NI_NODEADDR_FLAG_ALL

#define NI_NODEADDR_FLAG_ALL   0x2

Definition at line 442 of file icmp6.h.

◆ NI_NODEADDR_FLAG_ANYCAST

#define NI_NODEADDR_FLAG_ANYCAST   0x40 /* just experimental. not in spec */

Definition at line 447 of file icmp6.h.

◆ NI_NODEADDR_FLAG_COMPAT

#define NI_NODEADDR_FLAG_COMPAT   0x4

Definition at line 443 of file icmp6.h.

◆ NI_NODEADDR_FLAG_GLOBAL

#define NI_NODEADDR_FLAG_GLOBAL   0x20

Definition at line 446 of file icmp6.h.

◆ NI_NODEADDR_FLAG_LINKLOCAL

#define NI_NODEADDR_FLAG_LINKLOCAL   0x8

Definition at line 444 of file icmp6.h.

◆ NI_NODEADDR_FLAG_SITELOCAL

#define NI_NODEADDR_FLAG_SITELOCAL   0x10

Definition at line 445 of file icmp6.h.

◆ NI_NODEADDR_FLAG_TRUNCATE

#define NI_NODEADDR_FLAG_TRUNCATE   0x1

Definition at line 441 of file icmp6.h.

◆ ni_qtype

#define ni_qtype   icmp6_ni_hdr.icmp6_data16[0]

Definition at line 405 of file icmp6.h.

◆ NI_QTYPE_DNSNAME

#define NI_QTYPE_DNSNAME   2 /* DNS Name */

Definition at line 411 of file icmp6.h.

◆ NI_QTYPE_FQDN

#define NI_QTYPE_FQDN   2 /* FQDN (draft 04) */

Definition at line 410 of file icmp6.h.

◆ NI_QTYPE_IPV4ADDR

#define NI_QTYPE_IPV4ADDR   4 /* IPv4 Addresses */

Definition at line 413 of file icmp6.h.

◆ NI_QTYPE_NODEADDR

#define NI_QTYPE_NODEADDR   3 /* Node Addresses */

Definition at line 412 of file icmp6.h.

◆ NI_QTYPE_NOOP

#define NI_QTYPE_NOOP   0 /* NOOP */

Definition at line 408 of file icmp6.h.

◆ NI_QTYPE_SUPTYPES

#define NI_QTYPE_SUPTYPES   1 /* Supported Qtypes */

Definition at line 409 of file icmp6.h.

◆ NI_SUPTYPE_FLAG_COMPRESS

#define NI_SUPTYPE_FLAG_COMPRESS   0x1

Definition at line 416 of file icmp6.h.

◆ ni_type

#define ni_type   icmp6_ni_hdr.icmp6_type

Definition at line 402 of file icmp6.h.

◆ RPM_PCO_ADD

#define RPM_PCO_ADD   1

Definition at line 498 of file icmp6.h.

◆ RPM_PCO_CHANGE

#define RPM_PCO_CHANGE   2

Definition at line 499 of file icmp6.h.

◆ RPM_PCO_MAX

#define RPM_PCO_MAX   4

Definition at line 501 of file icmp6.h.

◆ RPM_PCO_SETGLOBAL

#define RPM_PCO_SETGLOBAL   3

Definition at line 500 of file icmp6.h.

◆ rr_cksum

#define rr_cksum   rr_hdr.icmp6_cksum

Definition at line 484 of file icmp6.h.

◆ rr_code

#define rr_code   rr_hdr.icmp6_code

Definition at line 483 of file icmp6.h.

◆ rr_seqnum

#define rr_seqnum   rr_hdr.icmp6_data32[0]

Definition at line 485 of file icmp6.h.

◆ rr_type

#define rr_type   rr_hdr.icmp6_type

Definition at line 482 of file icmp6.h.

◆ V_icmp6_rediraccept

#define V_icmp6_rediraccept   VNET(icmp6_rediraccept)

Definition at line 779 of file icmp6.h.

◆ V_icmp6_redirtimeout

#define V_icmp6_redirtimeout   VNET(icmp6_redirtimeout)

Definition at line 780 of file icmp6.h.

Function Documentation

◆ icmp6_error()

void icmp6_error ( struct mbuf *  ,
int  ,
int  ,
int   
)

◆ icmp6_error2()

void icmp6_error2 ( struct mbuf *  ,
int  ,
int  ,
int  ,
struct ifnet *   
)

◆ icmp6_fasttimo()

void icmp6_fasttimo ( void  )

◆ icmp6_input()

int icmp6_input ( struct mbuf **  ,
int *  ,
int   
)

◆ icmp6_mtudisc_update()

void icmp6_mtudisc_update ( struct ip6ctlparam *  ,
int   
)

◆ icmp6_paramerror()

void icmp6_paramerror ( struct mbuf *  ,
int   
)

◆ icmp6_prepare()

void icmp6_prepare ( struct mbuf *  )

◆ icmp6_redirect_input()

void icmp6_redirect_input ( struct mbuf *  ,
int   
)

◆ icmp6_redirect_output()

void icmp6_redirect_output ( struct mbuf *  ,
struct nhop_object *   
)

◆ icmp6_slowtimo()

void icmp6_slowtimo ( void  )

◆ kmod_icmp6stat_inc()

void kmod_icmp6stat_inc ( int  statnum)

◆ VNET_DECLARE() [1/2]

VNET_DECLARE ( int  ,
icmp6_rediraccept   
)

◆ VNET_DECLARE() [2/2]

VNET_DECLARE ( int  ,
icmp6_redirtimeout   
)

◆ VNET_PCPUSTAT_DECLARE()

VNET_PCPUSTAT_DECLARE ( struct icmp6stat  ,
icmp6stat   
)

Variable Documentation

◆ __packed

struct ip6_frag __packed