PERFORCE change 166660 for review

Gabor Pali pgj at FreeBSD.org
Mon Jul 27 22:04:52 UTC 2009


http://perforce.freebsd.org/chv.cgi?CH=166660

Change 166660 by pgj at petymeg-current on 2009/07/27 22:04:33

	Standardize PIM statistics and add header.

Affected files ...

.. //depot/projects/soc2009/pgj_libstat/src/sys/netinet/ip_mroute.c#2 edit
.. //depot/projects/soc2009/pgj_libstat/src/sys/netinet/pim_var.h#2 edit

Differences ...

==== //depot/projects/soc2009/pgj_libstat/src/sys/netinet/ip_mroute.c#2 (text+ko) ====

@@ -209,13 +209,21 @@
 static struct callout bw_upcalls_ch;
 #define BW_UPCALLS_PERIOD (hz)		/* periodical flush of bw upcalls */
 
+static struct stat_header   pimstat_header = {
+	.sth_version = PIMSTAT_VERSION,
+	.sth_len = sizeof(struct pimstat)
+};
 static struct pimstat pimstat;
 
 SYSCTL_NODE(_net_inet, IPPROTO_PIM, pim, CTLFLAG_RW, 0, "PIM");
-SYSCTL_STRUCT(_net_inet_pim, PIMCTL_STATS, stats, CTLFLAG_RD,
+SYSCTL_STRUCT(_net_inet_pim, PIMCTL_STATS, stats, CTLFLAG_RW,
     &pimstat, pimstat,
     "PIM Statistics (struct pimstat, netinet/pim_var.h)");
 
+SYSCTL_STRUCT(_net_inet_pim, OID_AUTO, stats_header, CTLFLAG_RD,
+    &pimstat_header, stat_header,
+    "PIM Statistics header");
+
 static u_long	pim_squelch_wholepkt = 0;
 SYSCTL_ULONG(_net_inet_pim, OID_AUTO, squelch_wholepkt, CTLFLAG_RW,
     &pim_squelch_wholepkt, 0,

==== //depot/projects/soc2009/pgj_libstat/src/sys/netinet/pim_var.h#2 (text+ko) ====

@@ -45,18 +45,21 @@
 /*
  * PIM statistics kept in the kernel
  */
+
+#define	PIMSTAT_VERSION	    0x00000001
+ 
 struct pimstat {
-	u_quad_t pims_rcv_total_msgs;	   /* total PIM messages received    */
-	u_quad_t pims_rcv_total_bytes;	   /* total PIM bytes received	     */
-	u_quad_t pims_rcv_tooshort;	   /* rcvd with too few bytes	     */
-	u_quad_t pims_rcv_badsum;	   /* rcvd with bad checksum	     */
-	u_quad_t pims_rcv_badversion;	   /* rcvd bad PIM version	     */
-	u_quad_t pims_rcv_registers_msgs;  /* rcvd regs. msgs (data only)    */
-	u_quad_t pims_rcv_registers_bytes; /* rcvd regs. bytes (data only)   */
-	u_quad_t pims_rcv_registers_wrongiif; /* rcvd regs. on wrong iif     */
-	u_quad_t pims_rcv_badregisters;	   /* rcvd invalid registers	     */
-	u_quad_t pims_snd_registers_msgs;  /* sent regs. msgs (data only)    */
-	u_quad_t pims_snd_registers_bytes; /* sent regs. bytes (data only)   */
+	u_int64_t pims_rcv_total_msgs;	   /* total PIM messages received    */
+	u_int64_t pims_rcv_total_bytes;	   /* total PIM bytes received	     */
+	u_int64_t pims_rcv_tooshort;	   /* rcvd with too few bytes	     */
+	u_int64_t pims_rcv_badsum;	   /* rcvd with bad checksum	     */
+	u_int64_t pims_rcv_badversion;	   /* rcvd bad PIM version	     */
+	u_int64_t pims_rcv_registers_msgs;  /* rcvd regs. msgs (data only)    */
+	u_int64_t pims_rcv_registers_bytes; /* rcvd regs. bytes (data only)   */
+	u_int64_t pims_rcv_registers_wrongiif; /* rcvd regs. on wrong iif     */
+	u_int64_t pims_rcv_badregisters;	   /* rcvd invalid registers  */
+	u_int64_t pims_snd_registers_msgs;  /* sent regs. msgs (data only)    */
+	u_int64_t pims_snd_registers_bytes; /* sent regs. bytes (data only)   */
 };
 
 #ifdef _KERNEL


More information about the p4-projects mailing list