PERFORCE change 166871 for review
Gabor Pali
pgj at FreeBSD.org
Fri Jul 31 20:54:30 UTC 2009
http://perforce.freebsd.org/chv.cgi?CH=166871
Change 166871 by pgj at petymeg-current on 2009/07/31 20:54:03
Standardize and add header for multicast forwarding statistics.
Affected files ...
.. //depot/projects/soc2009/pgj_libstat/src/sys/netinet/ip_mroute.c#3 edit
.. //depot/projects/soc2009/pgj_libstat/src/sys/netinet/ip_mroute.h#2 edit
Differences ...
==== //depot/projects/soc2009/pgj_libstat/src/sys/netinet/ip_mroute.c#3 (text+ko) ====
@@ -143,12 +143,20 @@
mtx_init(&mrouter_mtx, "IPv4 multicast forwarding", NULL, MTX_DEF)
#define MROUTER_LOCK_DESTROY() mtx_destroy(&mrouter_mtx)
+static struct stat_header mrtstat_header = {
+ .sth_version = MRTSTAT_VERSION,
+ .sth_len = sizeof(struct mrtstat)
+};
static struct mrtstat mrtstat;
SYSCTL_STRUCT(_net_inet_ip, OID_AUTO, mrtstat, CTLFLAG_RW,
&mrtstat, mrtstat,
"IPv4 Multicast Forwarding Statistics (struct mrtstat, "
"netinet/ip_mroute.h)");
+SYSCTL_STRUCT(_net_inet_ip, OID_AUTO, mrtstat_header, CTLFLAG_RD,
+ &mrtstat_header, stat_header,
+ "IPv4 Multicast Forwarding Statistics header");
+
static u_long mfchash;
#define MFCHASH(a, g) \
((((a).s_addr >> 20) ^ ((a).s_addr >> 10) ^ (a).s_addr ^ \
==== //depot/projects/soc2009/pgj_libstat/src/sys/netinet/ip_mroute.h#2 (text+ko) ====
@@ -205,20 +205,22 @@
/*
* The kernel's multicast routing statistics.
*/
+#define MRTSTAT_VERSION 0x00000001
+
struct mrtstat {
- u_long mrts_mfc_lookups; /* # forw. cache hash table hits */
- u_long mrts_mfc_misses; /* # forw. cache hash table misses */
- u_long mrts_upcalls; /* # calls to multicast routing daemon */
- u_long mrts_no_route; /* no route for packet's origin */
- u_long mrts_bad_tunnel; /* malformed tunnel options */
- u_long mrts_cant_tunnel; /* no room for tunnel options */
- u_long mrts_wrong_if; /* arrived on wrong interface */
- u_long mrts_upq_ovflw; /* upcall Q overflow */
- u_long mrts_cache_cleanups; /* # entries with no upcalls */
- u_long mrts_drop_sel; /* pkts dropped selectively */
- u_long mrts_q_overflow; /* pkts dropped - Q overflow */
- u_long mrts_pkt2large; /* pkts dropped - size > BKT SIZE */
- u_long mrts_upq_sockfull; /* upcalls dropped - socket full */
+ u_int64_t mrts_mfc_lookups; /* # forw. cache hash table hits */
+ u_int64_t mrts_mfc_misses; /* # forw. cache hash table misses */
+ u_int64_t mrts_upcalls; /* # calls to multicast routing daemon */
+ u_int64_t mrts_no_route; /* no route for packet's origin */
+ u_int64_t mrts_bad_tunnel; /* malformed tunnel options */
+ u_int64_t mrts_cant_tunnel; /* no room for tunnel options */
+ u_int64_t mrts_wrong_if; /* arrived on wrong interface */
+ u_int64_t mrts_upq_ovflw; /* upcall Q overflow */
+ u_int64_t mrts_cache_cleanups; /* # entries with no upcalls */
+ u_int64_t mrts_drop_sel; /* pkts dropped selectively */
+ u_int64_t mrts_q_overflow; /* pkts dropped - Q overflow */
+ u_int64_t mrts_pkt2large; /* pkts dropped - size > BKT SIZE */
+ u_int64_t mrts_upq_sockfull; /* upcalls dropped - socket full */
};
#ifdef _KERNEL
More information about the p4-projects
mailing list