Date: Thu, 30 Jul 2009 16:57:51 GMT From: Gabor Pali <pgj@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 166802 for review Message-ID: <200907301657.n6UGvpb4093099@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=166802 Change 166802 by pgj@petymeg-current on 2009/07/30 16:57:10 Standardize and add header for PIM6 and IPv6 Multicast Routing statistics. Affected files ... .. //depot/projects/soc2009/pgj_libstat/src/sys/netinet6/ip6_mroute.c#3 edit .. //depot/projects/soc2009/pgj_libstat/src/sys/netinet6/ip6_mroute.h#2 edit .. //depot/projects/soc2009/pgj_libstat/src/sys/netinet6/pim6_var.h#2 edit Differences ... ==== //depot/projects/soc2009/pgj_libstat/src/sys/netinet6/ip6_mroute.c#3 (text+ko) ==== @@ -166,10 +166,17 @@ SYSCTL_DECL(_net_inet6_ip6); SYSCTL_NODE(_net_inet6, IPPROTO_PIM, pim, CTLFLAG_RW, 0, "PIM"); +static struct stat_header mrt6stat_header = { + .sth_version = MRT6STAT_VERSION, + .sth_len = sizeof(struct mrt6stat) +}; static struct mrt6stat mrt6stat; SYSCTL_STRUCT(_net_inet6_ip6, OID_AUTO, mrt6stat, CTLFLAG_RW, &mrt6stat, mrt6stat, "Multicast Routing Statistics (struct mrt6stat, netinet6/ip6_mroute.h)"); +SYSCTL_STRUCT(_net_inet6_ip6, OID_AUTO, mrt6stat_header, CTLFLAG_RD, + &mrt6stat_header, stat_header, + "Multicast Routing Statistics header"); #define NO_RTE_FOUND 0x1 #define RTE_FOUND 0x2 @@ -258,10 +265,16 @@ static mifi_t nummifs = 0; static mifi_t reg_mif_num = (mifi_t)-1; +static struct stat_header pim6stat_header = { + .sth_version = PIM6STAT_VERSION, + .sth_len = sizeof(struct pim6stat) +}; static struct pim6stat pim6stat; -SYSCTL_STRUCT(_net_inet6_pim, PIM6CTL_STATS, stats, CTLFLAG_RD, +SYSCTL_STRUCT(_net_inet6_pim, PIM6CTL_STATS, stats, CTLFLAG_RW, &pim6stat, pim6stat, "PIM Statistics (struct pim6stat, netinet6/pim_var.h)"); +SYSCTL_STRUCT(_net_inet6_pim, OID_AUTO, stats_header, CTLFLAG_RD, + &pim6stat_header, stat_header, "PIM Statistics header"); #ifdef VIMAGE_GLOBALS static int pim6; ==== //depot/projects/soc2009/pgj_libstat/src/sys/netinet6/ip6_mroute.h#2 (text+ko) ==== @@ -120,20 +120,22 @@ /* * The kernel's multicast routing statistics. */ +#define MRT6STAT_VERSION 0x00000001 + struct mrt6stat { - u_quad_t mrt6s_mfc_lookups; /* # forw. cache hash table hits */ - u_quad_t mrt6s_mfc_misses; /* # forw. cache hash table misses */ - u_quad_t mrt6s_upcalls; /* # calls to multicast routing daemon */ - u_quad_t mrt6s_no_route; /* no route for packet's origin */ - u_quad_t mrt6s_bad_tunnel; /* malformed tunnel options */ - u_quad_t mrt6s_cant_tunnel; /* no room for tunnel options */ - u_quad_t mrt6s_wrong_if; /* arrived on wrong interface */ - u_quad_t mrt6s_upq_ovflw; /* upcall Q overflow */ - u_quad_t mrt6s_cache_cleanups; /* # entries with no upcalls */ - u_quad_t mrt6s_drop_sel; /* pkts dropped selectively */ - u_quad_t mrt6s_q_overflow; /* pkts dropped - Q overflow */ - u_quad_t mrt6s_pkt2large; /* pkts dropped - size > BKT SIZE */ - u_quad_t mrt6s_upq_sockfull; /* upcalls dropped - socket full */ + u_int64_t mrt6s_mfc_lookups; /* # forw. cache hash table hits */ + u_int64_t mrt6s_mfc_misses; /* # forw. cache hash table misses */ + u_int64_t mrt6s_upcalls; /* # calls to multicast routing daemon */ + u_int64_t mrt6s_no_route; /* no route for packet's origin */ + u_int64_t mrt6s_bad_tunnel; /* malformed tunnel options */ + u_int64_t mrt6s_cant_tunnel; /* no room for tunnel options */ + u_int64_t mrt6s_wrong_if; /* arrived on wrong interface */ + u_int64_t mrt6s_upq_ovflw; /* upcall Q overflow */ + u_int64_t mrt6s_cache_cleanups; /* # entries with no upcalls */ + u_int64_t mrt6s_drop_sel; /* pkts dropped selectively */ + u_int64_t mrt6s_q_overflow; /* pkts dropped - Q overflow */ + u_int64_t mrt6s_pkt2large; /* pkts dropped - size > BKT SIZE */ + u_int64_t mrt6s_upq_sockfull; /* upcalls dropped - socket full */ }; #ifdef MRT6_OINIT ==== //depot/projects/soc2009/pgj_libstat/src/sys/netinet6/pim6_var.h#2 (text+ko) ==== @@ -41,14 +41,16 @@ #ifndef _NETINET6_PIM6_VAR_H_ #define _NETINET6_PIM6_VAR_H_ +#define PIM6STAT_VERSION 0x00000001 + struct pim6stat { - u_quad_t pim6s_rcv_total; /* total PIM messages received */ - u_quad_t pim6s_rcv_tooshort; /* received with too few bytes */ - u_quad_t pim6s_rcv_badsum; /* received with bad checksum */ - u_quad_t pim6s_rcv_badversion; /* received bad PIM version */ - u_quad_t pim6s_rcv_registers; /* received registers */ - u_quad_t pim6s_rcv_badregisters; /* received invalid registers */ - u_quad_t pim6s_snd_registers; /* sent registers */ + u_int64_t pim6s_rcv_total; /* total PIM messages received */ + u_int64_t pim6s_rcv_tooshort; /* received with too few bytes */ + u_int64_t pim6s_rcv_badsum; /* received with bad checksum */ + u_int64_t pim6s_rcv_badversion; /* received bad PIM version */ + u_int64_t pim6s_rcv_registers; /* received registers */ + u_int64_t pim6s_rcv_badregisters; /* received invalid registers */ + u_int64_t pim6s_snd_registers; /* sent registers */ }; #if (defined(KERNEL)) || (defined(_KERNEL))
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200907301657.n6UGvpb4093099>