Changeset View
Changeset View
Standalone View
Standalone View
sys/netinet/icmp6.h
Show First 20 Lines • Show All 150 Lines • ▼ Show 20 Lines | |||||
#define ICMP6_DST_UNREACH_SRCROUTE 7 /* Error in source routing header */ | #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_TRANSIT 0 /* ttl==0 in transit */ | ||||
#define ICMP6_TIME_EXCEED_REASSEMBLY 1 /* ttl==0 in reass */ | #define ICMP6_TIME_EXCEED_REASSEMBLY 1 /* ttl==0 in reass */ | ||||
#define ICMP6_PARAMPROB_HEADER 0 /* erroneous header field */ | #define ICMP6_PARAMPROB_HEADER 0 /* erroneous header field */ | ||||
#define ICMP6_PARAMPROB_NEXTHEADER 1 /* unrecognized next header */ | #define ICMP6_PARAMPROB_NEXTHEADER 1 /* unrecognized next header */ | ||||
#define ICMP6_PARAMPROB_OPTION 2 /* unrecognized option */ | #define ICMP6_PARAMPROB_OPTION 2 /* unrecognized option */ | ||||
#define ICMP6_PARAMPROB_FRAGHDRCHAIN 3 /* first fragment has incomplete header chain */ | |||||
#define ICMP6_INFOMSG_MASK 0x80 /* all informational messages */ | #define ICMP6_INFOMSG_MASK 0x80 /* all informational messages */ | ||||
#define ICMP6_NI_SUBJ_IPV6 0 /* Query Subject is an IPv6 address */ | #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_FQDN 1 /* Query Subject is a Domain name */ | ||||
#define ICMP6_NI_SUBJ_IPV4 2 /* Query Subject is an IPv4 address */ | #define ICMP6_NI_SUBJ_IPV4 2 /* Query Subject is an IPv4 address */ | ||||
#define ICMP6_NI_SUCCESS 0 /* node information successful reply */ | #define ICMP6_NI_SUCCESS 0 /* node information successful reply */ | ||||
▲ Show 20 Lines • Show All 415 Lines • ▼ Show 20 Lines | struct icmp6errstat { | ||||
uint64_t icp6errs_dst_unreach_addr; | uint64_t icp6errs_dst_unreach_addr; | ||||
uint64_t icp6errs_dst_unreach_noport; | uint64_t icp6errs_dst_unreach_noport; | ||||
uint64_t icp6errs_packet_too_big; | uint64_t icp6errs_packet_too_big; | ||||
uint64_t icp6errs_time_exceed_transit; | uint64_t icp6errs_time_exceed_transit; | ||||
uint64_t icp6errs_time_exceed_reassembly; | uint64_t icp6errs_time_exceed_reassembly; | ||||
uint64_t icp6errs_paramprob_header; | uint64_t icp6errs_paramprob_header; | ||||
uint64_t icp6errs_paramprob_nextheader; | uint64_t icp6errs_paramprob_nextheader; | ||||
uint64_t icp6errs_paramprob_option; | uint64_t icp6errs_paramprob_option; | ||||
uint64_t icp6errs_paramprob_fraghdrchain; | |||||
bz: By adding it to not-the-end you are breaking old netstat binaries (not that they'd be happy… | |||||
uint64_t icp6errs_redirect; /* we regard redirect as an error here */ | uint64_t icp6errs_redirect; /* we regard redirect as an error here */ | ||||
uint64_t icp6errs_unknown; | uint64_t icp6errs_unknown; | ||||
}; | }; | ||||
struct icmp6stat { | struct icmp6stat { | ||||
/* statistics related to icmp6 packets generated */ | /* statistics related to icmp6 packets generated */ | ||||
uint64_t icp6s_error; /* # of calls to icmp6_error */ | uint64_t icp6s_error; /* # of calls to icmp6_error */ | ||||
uint64_t icp6s_canterror; /* no error 'cuz old was icmp */ | uint64_t icp6s_canterror; /* no error 'cuz old was icmp */ | ||||
Show All 23 Lines | |||||
#define icp6s_otime_exceed_transit \ | #define icp6s_otime_exceed_transit \ | ||||
icp6s_outerrhist.icp6errs_time_exceed_transit | icp6s_outerrhist.icp6errs_time_exceed_transit | ||||
#define icp6s_otime_exceed_reassembly \ | #define icp6s_otime_exceed_reassembly \ | ||||
icp6s_outerrhist.icp6errs_time_exceed_reassembly | icp6s_outerrhist.icp6errs_time_exceed_reassembly | ||||
#define icp6s_oparamprob_header icp6s_outerrhist.icp6errs_paramprob_header | #define icp6s_oparamprob_header icp6s_outerrhist.icp6errs_paramprob_header | ||||
#define icp6s_oparamprob_nextheader \ | #define icp6s_oparamprob_nextheader \ | ||||
icp6s_outerrhist.icp6errs_paramprob_nextheader | icp6s_outerrhist.icp6errs_paramprob_nextheader | ||||
#define icp6s_oparamprob_option icp6s_outerrhist.icp6errs_paramprob_option | #define icp6s_oparamprob_option icp6s_outerrhist.icp6errs_paramprob_option | ||||
#define icp6s_oparamprob_fraghdrchain \ | |||||
icp6s_outerrhist.icp6errs_paramprob_fraghdrchain | |||||
#define icp6s_oredirect icp6s_outerrhist.icp6errs_redirect | #define icp6s_oredirect icp6s_outerrhist.icp6errs_redirect | ||||
#define icp6s_ounknown icp6s_outerrhist.icp6errs_unknown | #define icp6s_ounknown icp6s_outerrhist.icp6errs_unknown | ||||
uint64_t icp6s_pmtuchg; /* path MTU changes */ | uint64_t icp6s_pmtuchg; /* path MTU changes */ | ||||
uint64_t icp6s_nd_badopt; /* bad ND options */ | uint64_t icp6s_nd_badopt; /* bad ND options */ | ||||
uint64_t icp6s_badns; /* bad neighbor solicitation */ | uint64_t icp6s_badns; /* bad neighbor solicitation */ | ||||
uint64_t icp6s_badna; /* bad neighbor advertisement */ | uint64_t icp6s_badna; /* bad neighbor advertisement */ | ||||
uint64_t icp6s_badrs; /* bad router solicitation */ | uint64_t icp6s_badrs; /* bad router solicitation */ | ||||
uint64_t icp6s_badra; /* bad router advertisement */ | uint64_t icp6s_badra; /* bad router advertisement */ | ||||
▲ Show 20 Lines • Show All 150 Lines • Show Last 20 Lines |
By adding it to not-the-end you are breaking old netstat binaries (not that they'd be happy anyway as the struct size will change). Normally we'd do append to have a chance to at least properly read the "so far known" counters even if we get more data.