Date: Thu, 30 Jul 2009 17:56:57 GMT From: Gabor Pali <pgj@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 166814 for review Message-ID: <200907301756.n6UHuvwf000541@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=166814 Change 166814 by pgj@petymeg-current on 2009/07/30 17:56:29 - Standardize and add header for IPX statistics. - Expose data via sysctl(3) [net.ipx.ipx.stats]. Affected files ... .. //depot/projects/soc2009/pgj_libstat/src/sys/netipx/ipx_input.c#2 edit .. //depot/projects/soc2009/pgj_libstat/src/sys/netipx/ipx_var.h#2 edit Differences ... ==== //depot/projects/soc2009/pgj_libstat/src/sys/netipx/ipx_input.c#2 (text+ko) ==== @@ -73,11 +73,14 @@ #include <sys/kernel.h> #include <sys/random.h> #include <sys/sysctl.h> +#include <sys/sockopt.h> #include <net/if.h> #include <net/route.h> #include <net/netisr.h> +#include <netinet/tcp_var.h> + #include <netipx/ipx.h> #include <netipx/spx.h> #include <netipx/ipx_if.h> @@ -109,7 +112,17 @@ .s_host[1] = 0xffff, .s_host[2] = 0xffff }; +struct stat_header ipxstat_header = { + .sth_version = IPXSTAT_VERSION, + .sth_len = sizeof(struct ipxstat) +}; struct ipxstat ipxstat; + +SYSCTL_STRUCT(_net_ipx_ipx, OID_AUTO, stats, CTLFLAG_RW, &ipxstat, ipxstat, + "IPX Statistics (struct ipxstat, netipx/ipx_var.h)"); +SYSCTL_STRUCT(_net_ipx_ipx, OID_AUTO, stats_header, CTLFLAG_RD, + &ipxstat_header, stat_header, "IPX Statistics header"); + struct sockaddr_ipx ipx_netmask, ipx_hostmask; /* ==== //depot/projects/soc2009/pgj_libstat/src/sys/netipx/ipx_var.h#2 (text+ko) ==== @@ -67,18 +67,20 @@ /* * IPX Kernel Structures and Variables */ +#define IPXSTAT_VERSION 0x00000001 + struct ipxstat { - u_long ipxs_total; /* total packets received */ - u_long ipxs_badsum; /* checksum bad */ - u_long ipxs_tooshort; /* packet too short */ - u_long ipxs_toosmall; /* not enough data */ - u_long ipxs_forward; /* packets forwarded */ - u_long ipxs_cantforward; /* packets rcvd for unreachable dest */ - u_long ipxs_delivered; /* datagrams delivered to upper level*/ - u_long ipxs_localout; /* total ipx packets generated here */ - u_long ipxs_odropped; /* lost packets due to nobufs, etc. */ - u_long ipxs_noroute; /* packets discarded due to no route */ - u_long ipxs_mtutoosmall; /* the interface mtu is too small */ + u_int64_t ipxs_total; /* total packets received */ + u_int64_t ipxs_badsum; /* checksum bad */ + u_int64_t ipxs_tooshort; /* packet too short */ + u_int64_t ipxs_toosmall; /* not enough data */ + u_int64_t ipxs_forward; /* packets forwarded */ + u_int64_t ipxs_cantforward; /* packets rcvd for unreachable dest */ + u_int64_t ipxs_delivered; /* datagrams delivered to upper level*/ + u_int64_t ipxs_localout; /* total ipx packets generated here */ + u_int64_t ipxs_odropped; /* lost packets due to nobufs, etc. */ + u_int64_t ipxs_noroute; /* packets discarded due to no route */ + u_int64_t ipxs_mtutoosmall; /* the interface mtu is too small */ }; #ifdef _KERNEL
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200907301756.n6UHuvwf000541>