PERFORCE change 166799 for review
Gabor Pali
pgj at FreeBSD.org
Thu Jul 30 16:28:20 UTC 2009
http://perforce.freebsd.org/chv.cgi?CH=166799
Change 166799 by pgj at petymeg-current on 2009/07/30 16:28:08
Add header for ICMP6 statistics.
Affected files ...
.. //depot/projects/soc2009/pgj_libstat/src/sys/netinet/icmp6.h#2 edit
.. //depot/projects/soc2009/pgj_libstat/src/sys/netinet6/icmp6.c#2 edit
Differences ...
==== //depot/projects/soc2009/pgj_libstat/src/sys/netinet/icmp6.h#2 (text+ko) ====
@@ -537,40 +537,43 @@
* Variables related to this implementation
* of the internet control message protocol version 6.
*/
+
+#define ICMP6STAT_VERSION 0x00000001
+
struct icmp6errstat {
- u_quad_t icp6errs_dst_unreach_noroute;
- u_quad_t icp6errs_dst_unreach_admin;
- u_quad_t icp6errs_dst_unreach_beyondscope;
- u_quad_t icp6errs_dst_unreach_addr;
- u_quad_t icp6errs_dst_unreach_noport;
- u_quad_t icp6errs_packet_too_big;
- u_quad_t icp6errs_time_exceed_transit;
- u_quad_t icp6errs_time_exceed_reassembly;
- u_quad_t icp6errs_paramprob_header;
- u_quad_t icp6errs_paramprob_nextheader;
- u_quad_t icp6errs_paramprob_option;
- u_quad_t icp6errs_redirect; /* we regard redirect as an error here */
- u_quad_t icp6errs_unknown;
+ u_int64_t icp6errs_dst_unreach_noroute;
+ u_int64_t icp6errs_dst_unreach_admin;
+ u_int64_t icp6errs_dst_unreach_beyondscope;
+ u_int64_t icp6errs_dst_unreach_addr;
+ u_int64_t icp6errs_dst_unreach_noport;
+ u_int64_t icp6errs_packet_too_big;
+ u_int64_t icp6errs_time_exceed_transit;
+ u_int64_t icp6errs_time_exceed_reassembly;
+ u_int64_t icp6errs_paramprob_header;
+ u_int64_t icp6errs_paramprob_nextheader;
+ u_int64_t icp6errs_paramprob_option;
+ u_int64_t icp6errs_redirect; /* we regard redirect as an error here */
+ u_int64_t icp6errs_unknown;
};
struct icmp6stat {
/* statistics related to icmp6 packets generated */
- u_quad_t icp6s_error; /* # of calls to icmp6_error */
- u_quad_t icp6s_canterror; /* no error 'cuz old was icmp */
- u_quad_t icp6s_toofreq; /* no error 'cuz rate limitation */
- u_quad_t icp6s_outhist[256];
+ u_int64_t icp6s_error; /* # of calls to icmp6_error */
+ u_int64_t icp6s_canterror; /* no error 'cuz old was icmp */
+ u_int64_t icp6s_toofreq; /* no error 'cuz rate limitation */
+ u_int64_t icp6s_outhist[256];
/* statistics related to input message processed */
- u_quad_t icp6s_badcode; /* icmp6_code out of range */
- u_quad_t icp6s_tooshort; /* packet < sizeof(struct icmp6_hdr) */
- u_quad_t icp6s_checksum; /* bad checksum */
- u_quad_t icp6s_badlen; /* calculated bound mismatch */
+ u_int64_t icp6s_badcode; /* icmp6_code out of range */
+ u_int64_t icp6s_tooshort; /* packet < sizeof(struct icmp6_hdr) */
+ u_int64_t icp6s_checksum; /* bad checksum */
+ u_int64_t icp6s_badlen; /* calculated bound mismatch */
/*
* number of responses: this member is inherited from netinet code, but
* for netinet6 code, it is already available in icp6s_outhist[].
*/
- u_quad_t icp6s_reflect;
- u_quad_t icp6s_inhist[256];
- u_quad_t icp6s_nd_toomanyopt; /* too many ND options */
+ u_int64_t icp6s_reflect;
+ u_int64_t icp6s_inhist[256];
+ u_int64_t icp6s_nd_toomanyopt; /* too many ND options */
struct icmp6errstat icp6s_outerrhist;
#define icp6s_odst_unreach_noroute \
icp6s_outerrhist.icp6errs_dst_unreach_noroute
@@ -590,13 +593,13 @@
#define icp6s_oparamprob_option icp6s_outerrhist.icp6errs_paramprob_option
#define icp6s_oredirect icp6s_outerrhist.icp6errs_redirect
#define icp6s_ounknown icp6s_outerrhist.icp6errs_unknown
- u_quad_t icp6s_pmtuchg; /* path MTU changes */
- u_quad_t icp6s_nd_badopt; /* bad ND options */
- u_quad_t icp6s_badns; /* bad neighbor solicitation */
- u_quad_t icp6s_badna; /* bad neighbor advertisement */
- u_quad_t icp6s_badrs; /* bad router advertisement */
- u_quad_t icp6s_badra; /* bad router advertisement */
- u_quad_t icp6s_badredirect; /* bad redirect message */
+ u_int64_t icp6s_pmtuchg; /* path MTU changes */
+ u_int64_t icp6s_nd_badopt; /* bad ND options */
+ u_int64_t icp6s_badns; /* bad neighbor solicitation */
+ u_int64_t icp6s_badna; /* bad neighbor advertisement */
+ u_int64_t icp6s_badrs; /* bad router advertisement */
+ u_int64_t icp6s_badra; /* bad router advertisement */
+ u_int64_t icp6s_badredirect; /* bad redirect message */
};
#ifdef _KERNEL
==== //depot/projects/soc2009/pgj_libstat/src/sys/netinet6/icmp6.c#2 (text+ko) ====
@@ -121,6 +121,10 @@
extern int icmp6errppslim;
extern int icmp6_nodeinfo;
+struct stat_header icmp6stat_header = {
+ .sth_version = ICMP6STAT_VERSION,
+ .sth_len = sizeof(struct icmp6stat)
+};
struct icmp6stat icmp6stat;
static int icmp6errpps_count;
static struct timeval icmp6errppslim_last;
More information about the p4-projects
mailing list