PERFORCE change 166816 for review
Gabor Pali
pgj at FreeBSD.org
Thu Jul 30 17:59:01 UTC 2009
http://perforce.freebsd.org/chv.cgi?CH=166816
Change 166816 by pgj at petymeg-current on 2009/07/30 17:58:16
Now netstat(1) uses libnetstat(3) for working with IPX statistics.
Affected files ...
.. //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/extern.h#23 edit
.. //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/ipx.c#3 edit
.. //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/main.c#31 edit
Differences ...
==== //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/extern.h#23 (text+ko) ====
@@ -139,7 +139,7 @@
void ipxprotopr(u_long, const char *, int, int);
void spx_stats(u_long, const char *, int, int);
-void ipx_stats(u_long, const char *, int, int);
+void ipx_stats(const struct stat_type *);
void ipxerr_stats(u_long, const char *, int, int);
void nsprotopr(u_long, const char *, int, int);
==== //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/ipx.c#3 (text+ko) ====
@@ -230,25 +230,26 @@
* Dump IPX statistics structure.
*/
void
-ipx_stats(u_long off, const char *name, int af1 __unused, int proto __unused)
+ipx_stats(const struct stat_type *sttp)
{
- struct ipxstat ipxstat;
-
- if (off == 0)
- return;
- kread(off, (char *)&ipxstat, sizeof (ipxstat));
- printf("%s:\n", name);
- ANYl(ipxstat.ipxs_total, "total packet", " received");
- ANYl(ipxstat.ipxs_badsum, "packet", " with bad checksums");
- ANYl(ipxstat.ipxs_tooshort, "packet", " smaller than advertised");
- ANYl(ipxstat.ipxs_toosmall, "packet", " smaller than a header");
- ANYl(ipxstat.ipxs_forward, "packet", " forwarded");
- ANYl(ipxstat.ipxs_cantforward, "packet", " not forwardable");
- ANYl(ipxstat.ipxs_delivered, "packet", " for this host");
- ANYl(ipxstat.ipxs_localout, "packet", " sent from this host");
- ANYl(ipxstat.ipxs_odropped, "packet", " dropped due to no bufs, etc.");
- ANYl(ipxstat.ipxs_noroute, "packet", " discarded due to no route");
- ANYl(ipxstat.ipxs_mtutoosmall, "packet", " too big");
+ const struct ipx_stat *s;
+#define p(x,y,z) \
+ if (netstat_ipxs_get_##x(s) || sflag <= 1) \
+ printf("\t%ju %s%s%s\n", netstat_ipxs_get_##x(s), y, \
+ plural(netstat_ipxs_get_##x(s)), z)
+ s = netstat_get_ipxstats(sttp);
+ p(total, "total packet", " received");
+ p(badsum, "packet", " with bad checksums");
+ p(tooshort, "packet", " smaller than advertised");
+ p(toosmall, "packet", " smaller than a header");
+ p(forward, "packet", " forwarded");
+ p(cantforward, "packet", " not forwardable");
+ p(delivered, "packet", " for this host");
+ p(localout, "packet", " sent from this host");
+ p(odropped, "packet", " dropped due to no bufs, etc.");
+ p(noroute, "packet", " discarded due to no route");
+ p(mtutoosmall, "packet", " too big");
+#undef p
}
#ifdef IPXERRORMSGS
==== //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/main.c#31 (text+ko) ====
@@ -89,39 +89,37 @@
{ .n_name = "_viftable" },
#define N_IPX 5
{ .n_name = "_ipxpcb_list"},
-#define N_IPXSTAT 6
- { .n_name = "_ipxstat"},
-#define N_SPXSTAT 7
+#define N_SPXSTAT 6
{ .n_name = "_spx_istat"},
-#define N_DDPCB 8
+#define N_DDPCB 7
{ .n_name = "_ddpcb"},
-#define N_NGSOCKS 9
+#define N_NGSOCKS 8
{ .n_name = "_ngsocklist"},
-#define N_IP6STAT 10
+#define N_IP6STAT 9
{ .n_name = "_ip6stat" },
-#define N_IPSECSTAT 11
+#define N_IPSECSTAT 10
{ .n_name = "_ipsec4stat" },
-#define N_IPSEC6STAT 12
+#define N_IPSEC6STAT 11
{ .n_name = "_ipsec6stat" },
-#define N_MRT6STAT 13
+#define N_MRT6STAT 12
{ .n_name = "_mrt6stat" },
-#define N_MF6CTABLE 14
+#define N_MF6CTABLE 13
{ .n_name = "_mf6ctable" },
-#define N_MIF6TABLE 15
+#define N_MIF6TABLE 14
{ .n_name = "_mif6table" },
-#define N_PFKEYSTAT 16
+#define N_PFKEYSTAT 15
{ .n_name = "_pfkeystat" },
-#define N_RTTRASH 17
+#define N_RTTRASH 16
{ .n_name = "_rttrash" },
-#define N_PFSYNCSTAT 18
+#define N_PFSYNCSTAT 17
{ .n_name = "_pfsyncstats" },
-#define N_AHSTAT 19
+#define N_AHSTAT 18
{ .n_name = "_ahstat" },
-#define N_ESPSTAT 20
+#define N_ESPSTAT 19
{ .n_name = "_espstat" },
-#define N_IPCOMPSTAT 21
+#define N_IPCOMPSTAT 20
{ .n_name = "_ipcompstat" },
-#define N_MFCTABLESIZE 22
+#define N_MFCTABLESIZE 21
{ .n_name = "_mfctablesize" },
{ .n_name = NULL },
};
@@ -229,8 +227,8 @@
#endif
#ifdef IPX
struct protox ipxprotox[] = {
- { N_IPX, N_IPXSTAT, 1, ipxprotopr, NULL, stat_MAX,
- ipx_stats, NULL, "ipx", 0, 0 },
+ { N_IPX, 0, 1, ipxprotopr, ipx_stats, stat_IPX,
+ NULL, NULL, "ipx", 0, 0 },
{ N_IPX, N_SPXSTAT, 1, ipxprotopr, NULL, stat_MAX,
spx_stats, NULL, "spx", 0, 0 },
{ -1, -1, 0, NULL, NULL, stat_MAX,
More information about the p4-projects
mailing list