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